Get Hosted Service Properties
Updated: June 7, 2012
The Get Hosted Service Properties operation retrieves system properties for the specified cloud service. These properties include the service name and service type; the name of the affinity group to which the service belongs, or its location if it is not part of an affinity group; and optionally, information on the deployments of the service.
Request
The Get Hosted Service Properties request may be specified as follows. Replace <subscription-id> with your subscription ID, and <cloudservice-name> with the name of the cloud service.
| Method | Request URI | HTTP Version |
|---|---|---|
|
GET |
|
HTTP/1.1 |
URI Parameters
| URI Parameter | Description |
|---|---|
|
embed-detail=true |
Optional. When the embed-detail parameter is specified, the management service returns properties for all deployments of the service, as well as for the service itself. The default value is false. |
Request Headers
The following table describes the request headers.
| Request Header | Description |
|---|---|
|
x-ms-version |
Required. Specifies the version of the operation to use for this request. This header must be set to 2009-10-01 or later. For more information about versioning headers, see Service Management Versioning. |
Request Body
None.
Response
The response includes an HTTP status code, a set of response headers, and a response body.
Status Code
A successful operation returns status code 200 (OK).
For information about status codes, see Service Management Status and Error Codes.
Response Headers
The response for this operation includes the following headers. The response may also include additional standard HTTP headers. All standard headers conform to the HTTP/1.1 protocol specification.
| Response Header | Description |
|---|---|
|
x-ms-request-id |
A value that uniquely identifies a request made against the management service. |
Response Body
The basic format for the response body when the request does not include embed-detail is shown below:
<?xml version="1.0" encoding="utf-8"?>
<HostedService xmlns="http://schemas.microsoft.com/windowsazure">
<Url>hosted-service-url</Url>
<ServiceName>hosted-service-name</ServiceName>
<HostedServiceProperties>
<Description>description</Description>
<AffinityGroup>name-of-affinity-group</AffinityGroup>
<Location>location-of-service</Location >
<Label>base-64-encoded-name-of-service</Label>
<Status>current-status-of-service</Status>
<DateCreated>creation-date-of-service</DateCreated>
<DateLastModified>last-modification-date-of-service</DateLastModified>
<ExtendedProperties>
<ExtendedProperty>
<Name>name-of-property</Name>
<Value>value-of-property</Value>
</ExtendedProperty>
</ExtendedProperties>
</HostedServiceProperties>
</HostedService>
The following elements are returned when embed-detail is set to true:
<?xml version="1.0" encoding="utf-8"?>
<HostedService xmlns="http://schemas.microsoft.com/windowsazure">
<Url>hosted-service-url</Url>
<ServiceName>hosted-service-name</ServiceName>
<HostedServiceProperties>
<Description>description-of-service</Description>
<AffinityGroup>name-of-affinity-group</AffinityGroup>
<Location>location-of-service</Location>
<Label>base-64-encoded-name-of-service</Label>
<Status>current-status-of-service</Status>
<DateCreated>creation-date-of-service</DateCreated>
<DateLastModified>last-modification-date-of-service</DateLastModified>
<ExtendedProperties>
<ExtendedProperty>
<Name>name-of-property</Name>
<Value>value-of-property</Value>
</ExtendedProperty>
</ExtendedProperties>
</HostedServiceProperties>
<Deployments>
<Deployment xmlns=”http://schemas.microsoft.com/windowsazure”>
<Name>name-of-deployment</Name>
<DeploymentSlot>current-deployment-environment</DeploymentSlot>
<PrivateID>deployment-id</PrivateID>
<Status>status-of-deployment</Status>
<Label>base64-encoded-name-of-deployment</Label>
<Url>deployment-url</Url>
<Configuration>base-64-encoded-configuration-file</Configuration>
<RoleInstanceList>
<RoleInstance>
<RoleName>name-of-role</RoleName>
<InstanceName>name-of-role-instance</InstanceName>
<InstanceStatus>status-of-role-instance</InstanceStatus>
<InstanceUpgradeDomain>update-domain-of-role-instance</InstanceUpgradeDomain>
<InstanceFaultDomain>fault-domain-of-role-instance</InstanceFaultDomain>
<InstanceSize>size-of-role-instance</InstanceSize>
<InstanceStateDetails>state-of-role-instance</InstanceStateDetails>
<InstanceErrorCode>error-code-returned-for-role-instance</InstanceErrorCode>
<IpAddress>ip-address-of-role-instance</IpAddress>
<InstanceEndpoints>
<InstanceEndpoint>
<Name>name-of-endpoint</Name>
<Vip>virtual-ip-address-of-instance-endpoint</Vip>
<PublicPort>public-facing-port-of-instance-endpoint</PublicPort>
<LocalPort>internal-facing-port-of-instance-endpoint</LocalPort>
<Protocol>protocol-of-instance-endpoint</Protocol>
</InstanceEndpoint>
</InstanceEndpoints>
<PowerState>state-of-role-instance</PowerState>
<HostName>dns-name-of-service</HostName>
<RemoteAccessCertificateThumbprint>cert-thumbprint-for-remote-access</RemoteAccessCertificateThumbprint>
</RoleInstance>
</RoleInstanceList>
<UpgradeStatus>
<UpgradeType>auto|manual</UpgradeType>
<CurrentUpgradeDomainState>before|during</CurrentUpgradeDomainState>
<CurrentUpgradeDomain>n</CurrentUpgradeDomain>
</UpgradeStatus>
<UpgradeDomainCount>number-of-upgrade-domains-in-deployment</UpgradeDomainCount>
<RoleList>
<Role>
<RoleName>name-of-role</RoleName>
<OSVersion>operating-system-version</OSVersion>
<ConfigurationSets>
<ConfigurationSet>
<ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
<InputEndpoints>
<InputEndpoint>
<Port>port-number-of-input-endpoint-in-network</Port>
<Protocol>protocol-of-input-endpoint-in-network</Protocol>
<Vip>virtual-ip-address-of-input-endpoint-in-network</Vip>
</InputEndpoint>
</InputEndpoints>
</ConfigurationSet>
</ConfigurationSets>
</Role>
<Role>
<RoleName>name-of-role</RoleName>
<OSVersion>operating-system-version</OSVersion>
<RoleType>PersistentVMRole</RoleType>
<ConfigurationSets>
<ConfigurationSet>
<ConfigurationSetType>NetworkConfiguration</ConfigurationSetType>
<InputEndpoints>
<InputEndpoint>
<LoadBalancedEndpointSetName>name-of-load-balanced-endpoint-set</LoadBalancedEndpointSetName>
<LocalPort>internal-facing-port-of-input-endpoint</LocalPort>
<Name>name-of-input-endpoint</Name>
<Port>external-facing-port-of-input-endpoint</Port>
<LoadBalancerProbe>
<Path>path-of-probe</Path>
<Port>port-assigned-to-probe</Port>
<Protocol>protocol-of-probe-port</Protocol>
</LoadBalancerProbe>
<Protocol>protocol-of-input-endpoint</Protocol>
<Vip>virtual-ip-address-of-input-endpoint</Vip>
</InputEndpoint>
</InputEndpoints>
<SubnetNames>
<SubnetName>name-of-subnet</SubnetName>
</SubnetNames>
</ConfigurationSet>
</ConfigurationSets>
<AvailabilitySetName>name-of-availability-set</AvailabilitySetName>
<DataVirtualHardDisks>
<DataVirtualHardDisk>
<HostCaching>host-caching-mode-of-data-disk</HostCaching>
<DiskName>name-of-data-disk</DiskName>
<Lun>logical-unit-number-of-data-disk</Lun>
<LogicalDiskSizeInGB>size-of-data-disk</LogicalDiskSizeInGB>
<MediaLink>path-to-vhd</MediaLink>
</DataVirtualHardDisk>
</DataVirtualHardDisks>
<OSVirtualHardDisk>
<HostCaching>host-caching-mode-of-os-disk</HostCaching>
<DiskName>name-of-os-disk</DiskName>
<MediaLink>path-to-vhd</MediaLink>
<SourceImageName>image-used-to-create-os-disk</SourceImageName>
<OS>operating-system-on-os-disk</OS>
</OSVirtualHardDisk>
<RoleSize>size-of-role-instance</RoleSize>
</Role>
</RoleList>
<SdkVersion>sdk-version-used-to-create-package</SdkVersion>
<Locked>status-of-deployment-write-allowed</Locked>
<RollbackAllowed>rollback-operation-allowed</RollbackAllowed>
<CreatedTime>time-of-deployment-creation</CreatedTime>
<LastModifiedTime>time-of-last-deployment-modification</LastModifiedTime>
<VirtualNetworkName>name-of-virtual-network</VirtualNetworkName>
<Dns>
<DnsServers>
<DnsServer>
<Name>name-of-dns-server</Name>
<Address>address-of-dns-server</Address>
</DnsServer>
</DnsServers>
</Dns>
<ExtendedProperties>
<ExtendedProperty>
<Name>name-of-property</Name>
<Value>value-of-property</Value>
</ExtendedProperty>
</ExtendedProperties>
<PersistentVMDowntime>
<StartTime>start-of-downtime</StartTime>
<EndTime>end-of-downtime</EndTime>
<Status>status-of-downtime</Status>
</PersistentVMDowntime>
<VirtualIPs>
<VirtualIP>
<Address>virtual-ip-address-of-deployment</Address>
</VirtualIP>
</VirtualIPs>
</Deployment>
</Deployments>
</HostedService>
The following table describes the key elements in the response body:
| Element name | Description |
|---|---|
|
Url |
The Service Management API request URI used to perform Get Hosted Service Properties requests against the cloud service. |
|
ServiceName |
The name of the cloud service. This name is the DNS prefix name and can be used to access the cloud service. For example, if the cloud service name is MyService you could access the access the cloud service by calling: http://MyService.cloudapp.net |
|
The properties that are assigned to the cloud service. |
|
|
The deployments that exist in the cloud service. |
HostedServiceProperties
Contains property information for the cloud service.
| Element name | Description |
|---|---|
|
Description |
The description for the cloud service. |
|
AffinityGroup |
The name of the affinity group with which this cloud service is associated, if any. If the cloud service is associated with an affinity group, the Location element is not returned. |
|
Location |
The geo-location of the cloud service in Windows Azure, if the cloud service is not associated with an affinity group. If a location has been specified, the AffinityGroup element is not returned. |
|
Label |
The base-64 encoded name of the cloud service. This name can be used identify the cloud service for your tracking purposes. |
|
Status |
The status of the cloud service. Possible values are:
The Status element is only available using version 2012-03-01 or higher. |
|
DateCreated |
The date that the cloud service was created, in [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z format. The date 2011-05-11T16:15:26Z is an example that could be returned by the DateCreated or DateLastModified elements. The DateCreated element is only available using version 2012-03-01 or higher. |
|
DateLastModified |
The date that the hosted service was last updated, in [4DigitYear]-[2DigitMonth]-[2DigitDay]T[2DigitHour]:[2DigitMinute]:[2DigitSecond]Z format. The date 2011-05-11T16:15:26Z is an example that could be returned by the DateCreated or DateLastModified elements The DateLastModified element is only available using version 2012-03-01 or higher. |
|
Name |
Represents the name of an extended cloud service property. Each extended property must have both a defined name and value. You can have a maximum of 50 extended property name/value pairs. The maximum length of the Name element is 64 characters, only alphanumeric characters and underscores are valid in the Name, and the name must start with a letter. Attempting to use other characters, starting the Name with a non-letter character, or entering a name that is identical to that of another extended property owned by the same cloud service, will result in a status code 400 (Bad Request) error. The Name element is only available using version 2012-03-01 or higher. |
|
Value |
Represents the value of an extended cloud service property. Each extended property must have both a defined name and value. You can have a maximum of 50 extended property name/value pairs, and each extended property value has a maximum length of 255 characters. The Value element is only available using version 2012-03-01 or higher. |
Deployments
Contains a collection of objects that provide deployment details.
| Element name | Description | ||
|---|---|---|---|
|
Name |
The name for the deployment. This name must be unique among other deployments for the specified cloud service. |
||
|
DeploymentSlot |
The deployment environment in which this deployment is running, either staging or production. |
||
|
PrivateID |
The unique identifier for this deployment. |
||
|
Status |
The status of the deployment. Possible values are:
|
||
|
Label |
The base-64 encoded user supplied name of the deployment. This name can be used identify the deployment for your tracking purposes. |
||
|
Url |
The URL used to access the hosted service. For example, if the service name is MyService you could access the access the service by calling: http://MyService.cloudapp.net |
||
|
Configuration |
The base-64 encoded the configuration file of the deployment. |
||
|
The list of role instances in the deployment. |
|||
|
Specifies information about an update occurring on the deployment. |
|||
|
UpgradeDomainCount |
The number of upgrade domains available to this cloud service. The UpgradeDomainCount element is only available using version 2011-06-01 or higher. |
||
|
The list of roles in the deployment. |
|||
|
SdkVersion |
The version of the Windows Azure SDK that was used to generate the .cspkg that created this deployment. The first two numerical components of the returned version represent the version of the SDK used to create the package. The SdkVersion element is only available using version 2011-06-01 or higher. |
||
|
Locked |
Indicates whether the deployment is locked for new write operations. True if the deployment is locked because an existing operation is updating the deployment; otherwise false. The Locked element is only available using version 2011-06-01 or higher. |
||
|
RollbackAllowed |
Indicates whether the Rollback Update Or Upgrade operation is allowed at this time. True if the operation is allowed; otherwise false.
|
||
|
CreatedTime |
The time that the deployment was created. |
||
|
LastModifiedTime |
The last time that the deployment was modified. |
||
|
VirtualNetworkName |
The name of the Virtual Network that the virtual machine connects to. The VirtualNetworkName element is only available using version 2012-03-01 or higher. |
||
|
The custom DNS settings that are specified for deployment. The Dns element is only available using version 2012-03-01 or higher. |
|||
|
The properties that are used to provide more information about a deployment. |
|||
|
Specifies information about when the virtual machine has been started and stopped. The PersistentVMDowntime element is only available using version 2012-03-01 or higher. |
|||
|
The virtual IP addresses that are specified for the deployment. The VirtualIPs element is only available using version 2012-03-01 or higher. |
RoleInstanceList
Contains a collection of objects that provide role instance details.
| Element name | Description | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
RoleName |
The name of the role. |
||||||||||||||||||||||||||||||||||
|
InstanceName |
The name of the specific role instance, if an instance of the role is running. |
||||||||||||||||||||||||||||||||||
|
InstanceStatus |
The current status of this instance. If x-ms-version header is set to version 2011-10-01 or later, the following table lists the possible values.
|
||||||||||||||||||||||||||||||||||
|
InstanceUpgradeDomain |
The update domain that this role instance belongs to. During an Upgrade Deployment, all roles in the same update domain are updated at the same time. The InstanceUpgradeDomain element is only available using version 2011-06-01 or higher. |
||||||||||||||||||||||||||||||||||
|
InstanceFaultDomain |
The fault domain that this role instance belongs to. Role instances that are part of the same fault domain may all be vulnerable to the failure of the same piece of shared hardware. The InstanceFaultDomain element is only available using version 2011-06-01 or higher. |
||||||||||||||||||||||||||||||||||
|
InstanceSize |
The size of the role instance. The InstanceSize element is only available using version 2011-06-01 or higher. |
||||||||||||||||||||||||||||||||||
|
InstanceStateDetails |
The instance state is returned as a string that, when present, provides a snapshot of the state of the virtual machine at the time the operation was called. The InstanceStateDetails element is only available using version 2011-06-01 or higher. |
||||||||||||||||||||||||||||||||||
|
InstanceErrorCode |
For Virtual Machines the error codes are:
For web and worker roles this field returns an error code that can be provided to Windows Azure support to assist in resolution of errors. Typically this field will be empty. The InstanceErrorCode element is only available using version 2011-10-01 or higher. |
||||||||||||||||||||||||||||||||||
|
IpAddress |
The IP address of the role instance (DIP). The IpAddress element is only available using version 2012-03-01 or higher. |
||||||||||||||||||||||||||||||||||
|
The list of instance endpoints for the role. |
|||||||||||||||||||||||||||||||||||
|
PowerState |
The running state of the role instance. The following are possible values:
|
||||||||||||||||||||||||||||||||||
|
HostName |
The DNS host name of the service in which the role instance is running. This element is only listed for Virtual Machine deployments. |
||||||||||||||||||||||||||||||||||
|
RemoteAccessCertificateThumbprint |
The thumbprint of the RDP server certificate (in Windows) or SSH server certificate (in Linux). The thumbprint is only used for Virtual Machines that have been created from an image. The RemoteAccessCertificateThumbprint element is only available using version 2012-08-01 or higher. |
InstanceEndpoints
Contains a collection of objects that provide instance endpoint details.
| Element name | Description |
|---|---|
|
Name |
The name for the endpoint. |
|
Vip |
The virtual IP address for the endpoint. The Vip element is only available using version 2011-06-01 or higher. |
|
PublicPort |
The external port used by the endpoint. |
|
LocalPort |
The internal port used by the endpoint. |
|
Protocol |
The protocol specified for the endpoint. |
UpgradeStatus
Contains upgrade details of the deployment.
| Element name | Description |
|---|---|
|
UpgradeType |
The type of the upgrade. Possible values are Auto and Manual. |
|
CurrentUpgradeDomainState |
The current state of the upgrade. Possible values are Before and During |
|
CurrentUpgradeDomain |
An integer value that identifies the current upgrade domain. Upgrade domains are identified with a zero-based index: the first upgrade domain has an ID of 0, the second has an ID of 1, and so on. |
RoleList
Contains a collection of objects that provide role details.
| Element name | Description |
|---|---|
|
RoleName |
The name of the role. |
|
OSVersion |
The version of the operating system on which the role instances are running. |
|
RoleType |
Specifies the type of the role. This element is only listed for Virtual Machine deployments and by default is PersistentVMRole. |
|
A collection of values that represents system or application configuration settings. |
|
|
AvailabilitySetName |
Represents the logical group name of a collection of virtual machines. |
|
Contains the parameters Windows Azure uses to create a data disk for a virtual machine. |
|
|
Contains the parameters Windows Azure uses to create the operating system disk for the virtual machine. |
|
|
RoleSize |
The size of the role instance. |
ConfigurationSets
Contains a collection of objects that provide system or application data.
| Element name | Description |
|---|---|
|
ConfigurationSetType |
Specifies the configuration type for the configuration set. This is currently always set to NetworkConfigurationSet. |
|
Contains a collection of external endpoints for the virtual machine. |
|
|
SubnetNames |
The list of Virtual Network subnet names that the deployment belongs to. |
InputEndpoints
Contains a collection of objects that provide input endpoint details.
| Element name | Description |
|---|---|
|
LoadBalancedEndpointSetName |
Specifies a name for a set of load-balanced endpoints. Specifying this name in multiple endpoints adds them all to the set. This element is only listed for Virtual Machine deployments. |
|
LocalPort |
Specifies the internal port on which the virtual machine is listening to serve the endpoint. This element is only listed for Virtual Machine deployments. |
|
Name |
Specifies the name for the external endpoint. This element is only listed for Virtual Machine deployments. |
|
Port |
Specifies the external port to use for the endpoint. |
|
Contains properties that specify the endpoint settings which the Windows Azure load balancer uses to monitor the availability of this virtual machine before forwarding traffic to the endpoint. |
|
|
Protocol |
Specifies the transport protocol for the endpoint. Possible Values are:
|
|
Vip |
The virtual IP address for the endpoint. |
LoadBalancerProbe
Contains properties that specify the endpoint settings which the Windows Azure load balancer uses to monitor the availability of this virtual machine before forwarding traffic to the endpoint.
| Element name | Description |
|---|---|
|
Path |
Specifies the relative path name to inspect to determine the virtual machine availability status. If Protocol is set to TCP, this value must be NULL. Example: path The probe will use https://example.com/path to perform the probe. |
|
Port |
Specifies the port to use to inspect the virtual machine availability status. |
|
Protocol |
Specifies the protocol to use to inspect the virtual machine availability status. Possible values are:
|
Dns
Contains a collection of objects that define the DNS server settings.
| Element name | Description |
|---|---|
|
Name |
The name of the DNS server. |
|
Address |
The IP address of the DNS server. |
ExtendedProperties
Contains a collection of objects that provide additional information about a deployment.
| Element name | Description |
|---|---|
|
Name |
Represents the name of a property that is associated with the deployment. Each extended property must have both a defined name and value. You can have a maximum of 50 extended property name and value pairs. The maximum length of the Name element is 64 characters, only alphanumeric characters and underscores are valid in the Name, and the name must start with a letter. Attempting to use other characters, starting the Name with a non-letter character, or entering a name that is identical to that of another extended property owned by the same deployment, will result in a status code 400 (Bad Request) error. |
|
Value |
Represents the value of a property that is associated with the deployment. Each extended property must have both a defined name and value. You can have a maximum of 50 extended property name and value pairs, and each extended property value has a maximum length of 255 characters. |
PersistentVMDowntime
Contains information about when the virtual machine has been started and stopped.
| Element name | Description |
|---|---|
|
StartTime |
The time that the virtual machine was started. |
|
EndTime |
The time that the virtual machine was stopped. |
|
Status |
The status of the virtual machine. |
VirtualIPs
Contains a collection of objects that specify the virtual IP address of the deployment.
| Element name | Description |
|---|---|
|
Address |
The virtual IP address of the deployment. |
DataVirtualHardDisks
Contains a collection of objects that are used to create a data disk for a virtual machine.
| Element name | Description |
|---|---|
|
HostCaching |
Specifies the platform caching behavior of the data disk blob for read/write efficiency. The default vault is ReadOnly. Possible values are:
|
|
DiskName |
Specifies the name of the VHD to use to create the data disk for the virtual machine. |
|
Lun |
Specifies the Logical Unit Number (LUN) for the data disk. The LUN specifies the slot in which the data drive appears when mounted for usage by the virtual machine. This element is only listed when more than one data disk is attached to a virtual machine. |
|
LogicalDiskSizeInGB |
Specifies the size, in GB, of an empty VHD to be attached to the virtual machine. The VHD can be created as part of disk attach or create virtual machine call by specifying the value for this property. Windows Azure creates the empty VHD based on size preference and attaches the newly created VHD to the virtual machine. |
|
MediaLink |
Specifies the location of the disk in Windows Azure storage. Example: http://example.blob.core.windows.net/disks/mydatadisk.vhd |
OSVirtualHardDisk
Contains the parameters Windows Azure uses to create the operating system disk for the virtual machine.
| Element name | Description |
|---|---|
|
HostCaching |
Specifies the platform caching behavior of the operating system disk blob for read/write efficiency. Possible values are:
|
|
DiskName |
Specifies the name an operating system image in the image repository. |
|
MediaLink |
Specifies the location of the operating system disk in Windows Azure storage. |
|
SourceImageName |
Specifies the name of the source image that was used to provision the virtual machine. |
|
OS |
The operating system running in the virtual machine. |
Authorization
Any management certificate associated with the subscription specified by <subscription-id> can be used to authenticate this operation. For additional details, see Authenticating Service Management Requests.
Remarks
If the x-ms-version is 2012-03-01 or later and the cloud service was created in one of the deprecated Anywhere US, Anywhere Europe, Anywhere Asia regions, the Location element will return the location where the cloud service is now allocated.
Version 2010-04-01 and later of the Get Hosted Service Properties operation returns the RoleList element when the embed-detail parameter is set to true. Within the RoleList element is returned the set of roles in the service and the operating system version on which each role is running.
By default, a service is deployed with five update domains, which are updated one at a time during an in-place update. For information on modifying the number of update domains in the service definition file, see Windows Azure Service Definition Schema (.csdef File).
To determine the update domain in which a particular instance is running in Windows Azure, use the UpdateDomain property of the RoleInstance class. See the Windows Azure Managed Library Reference for more information.
You can call Get Deployment to determine whether an update is in progress or has completed. If an update is currently in progress, the response body for the Get Deployment operation returns the UpgradeStatus element and its child elements. If no upgrade is in progress, the UpgradeStatus element is not returned in the response.
Note