PUT /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/cloudServices/{cloudServiceName}/?api-version=2022-09-04

Create or update a cloud service. Please note some properties can be set only during cloud service creation.

Servers

Path parameters

Name Type Required Description
cloudServiceName String Yes

Name of the cloud service.

subscriptionId String Yes

Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.

resourceGroupName String Yes

Name of the resource group.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
id String No

Resource Id.

name String No

Resource name.

systemData Object No

The system meta data relating to this resource.

systemData.lastModifiedAt String No

Specifies the time in UTC at which the Cloud Service (extended support) resource was last modified.
Minimum api-version: 2022-04-04.

systemData.createdAt String No

Specifies the time in UTC at which the Cloud Service (extended support) resource was created.
Minimum api-version: 2022-04-04.

location String Yes

Resource location.

properties Object No

Cloud service properties

properties.startCloudService Boolean No

(Optional) Indicates whether to start the cloud service immediately after it is created. The default value is true. If false, the service model is still deployed, but the code is not run immediately. Instead, the service is PoweredOff until you call Start, at which time the service will be started. A deployed service still incurs charges, even if it is poweredoff.

properties.osProfile Object No

Describes the OS profile for the cloud service.

properties.osProfile.secrets[] Array No

Specifies set of certificates that should be installed onto the role instances.

properties.osProfile.secrets[].sourceVault Object No
properties.osProfile.secrets[].sourceVault.id String No

Resource Id

properties.osProfile.secrets[].vaultCertificates[] Array No

The list of key vault references in SourceVault which contain certificates.

properties.osProfile.secrets[].vaultCertificates[].certificateUrl String No

This is the URL of a certificate that has been uploaded to Key Vault as a secret.

properties.packageUrl String No

Specifies a URL that refers to the location of the service package in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account. This is a write-only property and is not returned in GET calls.

properties.networkProfile Object No

Network Profile for the cloud service.

properties.networkProfile.loadBalancerConfigurations[] Array No

List of Load balancer configurations. Cloud service can have up to two load balancer configurations, corresponding to a Public Load Balancer and an Internal Load Balancer.

properties.networkProfile.loadBalancerConfigurations[].id String No

Resource Id

properties.networkProfile.loadBalancerConfigurations[].name String Yes

The name of the Load balancer

properties.networkProfile.loadBalancerConfigurations[].properties Object Yes

Describes the properties of the load balancer configuration.

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[] Array Yes

Specifies the frontend IP to be used for the load balancer. Only IPv4 frontend IP address is supported. Each load balancer configuration must have exactly one frontend IP configuration.

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].name String Yes

The name of the resource that is unique within the set of frontend IP configurations used by the load balancer. This name can be used to access the resource.

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties Object Yes

Describes a cloud service IP Configuration

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties.privateIPAddress String No

The virtual network private IP address of the IP configuration.

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties.publicIPAddress Object No
properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties.publicIPAddress.id String No

Resource Id

properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties.subnet Object No
properties.networkProfile.loadBalancerConfigurations[].properties.frontendIpConfigurations[].properties.subnet.id String No

Resource Id

properties.networkProfile.slotType String No

Slot type for the cloud service. Possible values are

Production

Staging

If not specified, the default value is Production.

Valid values:

  • "Production"
  • "Staging"
properties.networkProfile.swappableCloudService Object No
properties.networkProfile.swappableCloudService.id String No

Resource Id

properties.extensionProfile Object No

Describes a cloud service extension profile.

properties.extensionProfile.extensions[] Array No

List of extensions for the cloud service.

properties.extensionProfile.extensions[].name String No

The name of the extension.

properties.extensionProfile.extensions[].properties Object No

Extension Properties.

properties.extensionProfile.extensions[].properties.forceUpdateTag String No

Tag to force apply the provided public and protected settings. Changing the tag value allows for re-running the extension without changing any of the public or protected settings. If forceUpdateTag is not changed, updates to public or protected settings would still be applied by the handler. If neither forceUpdateTag nor any of public or protected settings change, extension would flow to the role instance with the same sequence-number, and it is up to handler implementation whether to re-run it or not

properties.extensionProfile.extensions[].properties.publisher String No

The name of the extension handler publisher.

properties.extensionProfile.extensions[].properties.protectedSettings Object No

Protected settings for the extension which are encrypted before sent to the role instance.

properties.extensionProfile.extensions[].properties.provisioningState String No

The provisioning state, which only appears in the response.

properties.extensionProfile.extensions[].properties.type String No

Specifies the type of the extension.

properties.extensionProfile.extensions[].properties.settings Object No

Public settings for the extension. For JSON extensions, this is the JSON settings for the extension. For XML Extension (like RDP), this is the XML setting for the extension.

properties.extensionProfile.extensions[].properties.typeHandlerVersion String No

Specifies the version of the extension. Specifies the version of the extension. If this element is not specified or an asterisk (*) is used as the value, the latest version of the extension is used. If the value is specified with a major version number and an asterisk as the minor version number (X.), the latest minor version of the specified major version is selected. If a major version number and a minor version number are specified (X.Y), the specific extension version is selected. If a version is specified, an auto-upgrade is performed on the role instance.

properties.extensionProfile.extensions[].properties.autoUpgradeMinorVersion Boolean No

Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available.

properties.extensionProfile.extensions[].properties.rolesAppliedTo[] Array No

Optional list of roles to apply this extension. If property is not specified or '*' is specified, extension is applied to all roles in the cloud service.

properties.extensionProfile.extensions[].properties.protectedSettingsFromKeyVault Object No

Protected settings for the extension, referenced using KeyVault which are encrypted before sent to the role instance.

properties.extensionProfile.extensions[].properties.protectedSettingsFromKeyVault.sourceVault Object No
properties.extensionProfile.extensions[].properties.protectedSettingsFromKeyVault.sourceVault.id String No

Resource Id

properties.extensionProfile.extensions[].properties.protectedSettingsFromKeyVault.secretUrl String No

Secret URL which contains the protected settings of the extension

properties.uniqueId String No

The unique identifier for the cloud service.

properties.allowModelOverride Boolean No

(Optional) Indicates whether the role sku properties (roleProfile.roles.sku) specified in the model/template should override the role instance count and vm size specified in the .cscfg and .csdef respectively. The default value is false.

properties.roleProfile Object No

Describes the role profile for the cloud service.

properties.roleProfile.roles[] Array No

List of roles for the cloud service.

properties.roleProfile.roles[].name String No

Resource name.

properties.roleProfile.roles[].sku Object No

Describes the cloud service role sku.

properties.roleProfile.roles[].sku.tier String No

Specifies the tier of the cloud service. Possible Values are

Standard

Basic

properties.roleProfile.roles[].sku.name String No

The sku name. NOTE: If the new SKU is not supported on the hardware the cloud service is currently on, you need to delete and recreate the cloud service or move back to the old sku.

properties.roleProfile.roles[].sku.capacity Integer No

Specifies the number of role instances in the cloud service.

properties.provisioningState String No

The provisioning state, which only appears in the response.

properties.configurationUrl String No

Specifies a URL that refers to the location of the service configuration in the Blob service. The service package URL can be Shared Access Signature (SAS) URI from any storage account. This is a write-only property and is not returned in GET calls.

properties.configuration String No

Specifies the XML service configuration (.cscfg) for the cloud service.

properties.upgradeMode String No

Update mode for the cloud service. Role instances are allocated to update domains when the service is deployed. Updates can be initiated manually in each update domain or initiated automatically in all update domains. Possible Values are

Auto

Manual

Simultaneous

If not specified, the default value is Auto. If set to Manual, PUT UpdateDomain must be called to apply the update. If set to Auto, the update is automatically applied to each update domain in sequence.

Valid values:

  • "Manual"
  • "Simultaneous"
  • "Auto"
zones[] Array No

List of logical availability zone of the resource. List should contain only 1 zone where cloud service should be provisioned. This field is optional.

tags Object No

Resource tags.

type String No

Resource type.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.