Microsoft.Compute cloudServices 2020-10-01-preview

Bicep resource definition

The cloudServices resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Compute/cloudServices resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.Compute/cloudServices@2020-10-01-preview' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  properties: {
    configuration: 'string'
    configurationUrl: 'string'
    extensionProfile: {
      extensions: [
        {
          name: 'string'
          properties: {
            autoUpgradeMinorVersion: bool
            forceUpdateTag: 'string'
            protectedSettings: 'string'
            protectedSettingsFromKeyVault: {
              secretUrl: 'string'
              sourceVault: {
                id: 'string'
              }
            }
            publisher: 'string'
            rolesAppliedTo: [
              'string'
            ]
            settings: 'string'
            type: 'string'
            typeHandlerVersion: 'string'
          }
        }
      ]
    }
    networkProfile: {
      loadBalancerConfigurations: [
        {
          name: 'string'
          properties: {
            frontendIPConfigurations: [
              {
                name: 'string'
                properties: {
                  privateIPAddress: 'string'
                  publicIPAddress: {
                    id: 'string'
                  }
                  subnet: {
                    id: 'string'
                  }
                }
              }
            ]
          }
        }
      ]
      swappableCloudService: {
        id: 'string'
      }
    }
    osProfile: {
      secrets: [
        {
          sourceVault: {
            id: 'string'
          }
          vaultCertificates: [
            {
              certificateUrl: 'string'
            }
          ]
        }
      ]
    }
    packageUrl: 'string'
    roleProfile: {
      roles: [
        {
          name: 'string'
          sku: {
            capacity: int
            name: 'string'
            tier: 'string'
          }
        }
      ]
    }
    startCloudService: bool
    upgradeMode: 'string'
  }
}

Property values

cloudServices

Name Description Value
name The resource name string (required)

Character limit: 1-15



Valid characters:
Can't use spaces, control characters, or these characters:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

Can't start with underscore. Can't end with period or hyphen.
location Resource location. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Cloud service properties CloudServiceProperties

CloudServiceProperties

Name Description Value
configuration Specifies the XML service configuration (.cscfg) for the cloud service. string
configurationUrl 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.
string
extensionProfile Describes a cloud service extension profile. CloudServiceExtensionProfile
networkProfile Network Profile for the cloud service. CloudServiceNetworkProfile
osProfile Describes the OS profile for the cloud service. CloudServiceOsProfile
packageUrl 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.
string
roleProfile Describes the role profile for the cloud service. CloudServiceRoleProfile
startCloudService (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.
bool
upgradeMode 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.
'Auto'
'Manual'
'Simultaneous'

CloudServiceExtensionProfile

Name Description Value
extensions List of extensions for the cloud service. Extension[]

Extension

Name Description Value
name The name of the extension. string
properties Extension Properties. CloudServiceExtensionProperties

CloudServiceExtensionProperties

Name Description Value
autoUpgradeMinorVersion Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available. bool
forceUpdateTag 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
string
protectedSettings Protected settings for the extension which are encrypted before sent to the role instance. string
protectedSettingsFromKeyVault CloudServiceVaultAndSecretReference
publisher The name of the extension handler publisher. string
rolesAppliedTo 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. string[]
settings 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. string
type Specifies the type of the extension. string
typeHandlerVersion 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. string

CloudServiceVaultAndSecretReference

Name Description Value
secretUrl string
sourceVault SubResource

SubResource

Name Description Value
id Resource Id string

CloudServiceNetworkProfile

Name Description Value
loadBalancerConfigurations The list of load balancer configurations for the cloud service. LoadBalancerConfiguration[]
swappableCloudService SubResource

LoadBalancerConfiguration

Name Description Value
name Resource Name string
properties LoadBalancerConfigurationProperties

LoadBalancerConfigurationProperties

Name Description Value
frontendIPConfigurations List of IP LoadBalancerFrontendIPConfiguration[]

LoadBalancerFrontendIPConfiguration

Name Description Value
name string
properties Describes a cloud service IP Configuration LoadBalancerFrontendIPConfigurationProperties

LoadBalancerFrontendIPConfigurationProperties

Name Description Value
privateIPAddress The private IP address referenced by the cloud service. string
publicIPAddress SubResource
subnet SubResource

CloudServiceOsProfile

Name Description Value
secrets Specifies set of certificates that should be installed onto the role instances. CloudServiceVaultSecretGroup[]

CloudServiceVaultSecretGroup

Name Description Value
sourceVault The relative URL of the Key Vault containing all of the certificates in VaultCertificates. SubResource
vaultCertificates The list of key vault references in SourceVault which contain certificates. CloudServiceVaultCertificate[]

CloudServiceVaultCertificate

Name Description Value
certificateUrl This is the URL of a certificate that has been uploaded to Key Vault as a secret. string

CloudServiceRoleProfile

Name Description Value
roles List of roles for the cloud service. CloudServiceRoleProfileProperties[]

CloudServiceRoleProfileProperties

Name Description Value
name Resource name. string
sku Describes the cloud service role sku. CloudServiceRoleSku

CloudServiceRoleSku

Name Description Value
capacity Specifies the number of role instances in the cloud service. int
name 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. string
tier Specifies the tier of the cloud service. Possible Values are

Standard

Basic
string

ARM template resource definition

The cloudServices resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Compute/cloudServices resource, add the following JSON to your template.

{
  "type": "Microsoft.Compute/cloudServices",
  "apiVersion": "2020-10-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "configuration": "string",
    "configurationUrl": "string",
    "extensionProfile": {
      "extensions": [
        {
          "name": "string",
          "properties": {
            "autoUpgradeMinorVersion": "bool",
            "forceUpdateTag": "string",
            "protectedSettings": "string",
            "protectedSettingsFromKeyVault": {
              "secretUrl": "string",
              "sourceVault": {
                "id": "string"
              }
            },
            "publisher": "string",
            "rolesAppliedTo": [ "string" ],
            "settings": "string",
            "type": "string",
            "typeHandlerVersion": "string"
          }
        }
      ]
    },
    "networkProfile": {
      "loadBalancerConfigurations": [
        {
          "name": "string",
          "properties": {
            "frontendIPConfigurations": [
              {
                "name": "string",
                "properties": {
                  "privateIPAddress": "string",
                  "publicIPAddress": {
                    "id": "string"
                  },
                  "subnet": {
                    "id": "string"
                  }
                }
              }
            ]
          }
        }
      ],
      "swappableCloudService": {
        "id": "string"
      }
    },
    "osProfile": {
      "secrets": [
        {
          "sourceVault": {
            "id": "string"
          },
          "vaultCertificates": [
            {
              "certificateUrl": "string"
            }
          ]
        }
      ]
    },
    "packageUrl": "string",
    "roleProfile": {
      "roles": [
        {
          "name": "string",
          "sku": {
            "capacity": "int",
            "name": "string",
            "tier": "string"
          }
        }
      ]
    },
    "startCloudService": "bool",
    "upgradeMode": "string"
  }
}

Property values

cloudServices

Name Description Value
type The resource type 'Microsoft.Compute/cloudServices'
apiVersion The resource api version '2020-10-01-preview'
name The resource name string (required)

Character limit: 1-15



Valid characters:
Can't use spaces, control characters, or these characters:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

Can't start with underscore. Can't end with period or hyphen.
location Resource location. string (required)
tags Resource tags. Dictionary of tag names and values. See Tags in templates
properties Cloud service properties CloudServiceProperties

CloudServiceProperties

Name Description Value
configuration Specifies the XML service configuration (.cscfg) for the cloud service. string
configurationUrl 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.
string
extensionProfile Describes a cloud service extension profile. CloudServiceExtensionProfile
networkProfile Network Profile for the cloud service. CloudServiceNetworkProfile
osProfile Describes the OS profile for the cloud service. CloudServiceOsProfile
packageUrl 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.
string
roleProfile Describes the role profile for the cloud service. CloudServiceRoleProfile
startCloudService (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.
bool
upgradeMode 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.
'Auto'
'Manual'
'Simultaneous'

CloudServiceExtensionProfile

Name Description Value
extensions List of extensions for the cloud service. Extension[]

Extension

Name Description Value
name The name of the extension. string
properties Extension Properties. CloudServiceExtensionProperties

CloudServiceExtensionProperties

Name Description Value
autoUpgradeMinorVersion Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available. bool
forceUpdateTag 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
string
protectedSettings Protected settings for the extension which are encrypted before sent to the role instance. string
protectedSettingsFromKeyVault CloudServiceVaultAndSecretReference
publisher The name of the extension handler publisher. string
rolesAppliedTo 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. string[]
settings 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. string
type Specifies the type of the extension. string
typeHandlerVersion 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. string

CloudServiceVaultAndSecretReference

Name Description Value
secretUrl string
sourceVault SubResource

SubResource

Name Description Value
id Resource Id string

CloudServiceNetworkProfile

Name Description Value
loadBalancerConfigurations The list of load balancer configurations for the cloud service. LoadBalancerConfiguration[]
swappableCloudService SubResource

LoadBalancerConfiguration

Name Description Value
name Resource Name string
properties LoadBalancerConfigurationProperties

LoadBalancerConfigurationProperties

Name Description Value
frontendIPConfigurations List of IP LoadBalancerFrontendIPConfiguration[]

LoadBalancerFrontendIPConfiguration

Name Description Value
name string
properties Describes a cloud service IP Configuration LoadBalancerFrontendIPConfigurationProperties

LoadBalancerFrontendIPConfigurationProperties

Name Description Value
privateIPAddress The private IP address referenced by the cloud service. string
publicIPAddress SubResource
subnet SubResource

CloudServiceOsProfile

Name Description Value
secrets Specifies set of certificates that should be installed onto the role instances. CloudServiceVaultSecretGroup[]

CloudServiceVaultSecretGroup

Name Description Value
sourceVault The relative URL of the Key Vault containing all of the certificates in VaultCertificates. SubResource
vaultCertificates The list of key vault references in SourceVault which contain certificates. CloudServiceVaultCertificate[]

CloudServiceVaultCertificate

Name Description Value
certificateUrl This is the URL of a certificate that has been uploaded to Key Vault as a secret. string

CloudServiceRoleProfile

Name Description Value
roles List of roles for the cloud service. CloudServiceRoleProfileProperties[]

CloudServiceRoleProfileProperties

Name Description Value
name Resource name. string
sku Describes the cloud service role sku. CloudServiceRoleSku

CloudServiceRoleSku

Name Description Value
capacity Specifies the number of role instances in the cloud service. int
name 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. string
tier Specifies the tier of the cloud service. Possible Values are

Standard

Basic
string

Terraform (AzAPI provider) resource definition

The cloudServices resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.Compute/cloudServices resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Compute/cloudServices@2020-10-01-preview"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      configuration = "string"
      configurationUrl = "string"
      extensionProfile = {
        extensions = [
          {
            name = "string"
            properties = {
              autoUpgradeMinorVersion = bool
              forceUpdateTag = "string"
              protectedSettings = "string"
              protectedSettingsFromKeyVault = {
                secretUrl = "string"
                sourceVault = {
                  id = "string"
                }
              }
              publisher = "string"
              rolesAppliedTo = [
                "string"
              ]
              settings = "string"
              type = "string"
              typeHandlerVersion = "string"
            }
          }
        ]
      }
      networkProfile = {
        loadBalancerConfigurations = [
          {
            name = "string"
            properties = {
              frontendIPConfigurations = [
                {
                  name = "string"
                  properties = {
                    privateIPAddress = "string"
                    publicIPAddress = {
                      id = "string"
                    }
                    subnet = {
                      id = "string"
                    }
                  }
                }
              ]
            }
          }
        ]
        swappableCloudService = {
          id = "string"
        }
      }
      osProfile = {
        secrets = [
          {
            sourceVault = {
              id = "string"
            }
            vaultCertificates = [
              {
                certificateUrl = "string"
              }
            ]
          }
        ]
      }
      packageUrl = "string"
      roleProfile = {
        roles = [
          {
            name = "string"
            sku = {
              capacity = int
              name = "string"
              tier = "string"
            }
          }
        ]
      }
      startCloudService = bool
      upgradeMode = "string"
    }
  })
}

Property values

cloudServices

Name Description Value
type The resource type "Microsoft.Compute/cloudServices@2020-10-01-preview"
name The resource name string (required)

Character limit: 1-15



Valid characters:
Can't use spaces, control characters, or these characters:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

Can't start with underscore. Can't end with period or hyphen.
location Resource location. string (required)
parent_id To deploy to a resource group, use the ID of that resource group. string (required)
tags Resource tags. Dictionary of tag names and values.
properties Cloud service properties CloudServiceProperties

CloudServiceProperties

Name Description Value
configuration Specifies the XML service configuration (.cscfg) for the cloud service. string
configurationUrl 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.
string
extensionProfile Describes a cloud service extension profile. CloudServiceExtensionProfile
networkProfile Network Profile for the cloud service. CloudServiceNetworkProfile
osProfile Describes the OS profile for the cloud service. CloudServiceOsProfile
packageUrl 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.
string
roleProfile Describes the role profile for the cloud service. CloudServiceRoleProfile
startCloudService (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.
bool
upgradeMode 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.
"Auto"
"Manual"
"Simultaneous"

CloudServiceExtensionProfile

Name Description Value
extensions List of extensions for the cloud service. Extension[]

Extension

Name Description Value
name The name of the extension. string
properties Extension Properties. CloudServiceExtensionProperties

CloudServiceExtensionProperties

Name Description Value
autoUpgradeMinorVersion Explicitly specify whether platform can automatically upgrade typeHandlerVersion to higher minor versions when they become available. bool
forceUpdateTag 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
string
protectedSettings Protected settings for the extension which are encrypted before sent to the role instance. string
protectedSettingsFromKeyVault CloudServiceVaultAndSecretReference
publisher The name of the extension handler publisher. string
rolesAppliedTo 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. string[]
settings 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. string
type Specifies the type of the extension. string
typeHandlerVersion 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. string

CloudServiceVaultAndSecretReference

Name Description Value
secretUrl string
sourceVault SubResource

SubResource

Name Description Value
id Resource Id string

CloudServiceNetworkProfile

Name Description Value
loadBalancerConfigurations The list of load balancer configurations for the cloud service. LoadBalancerConfiguration[]
swappableCloudService SubResource

LoadBalancerConfiguration

Name Description Value
name Resource Name string
properties LoadBalancerConfigurationProperties

LoadBalancerConfigurationProperties

Name Description Value
frontendIPConfigurations List of IP LoadBalancerFrontendIPConfiguration[]

LoadBalancerFrontendIPConfiguration

Name Description Value
name string
properties Describes a cloud service IP Configuration LoadBalancerFrontendIPConfigurationProperties

LoadBalancerFrontendIPConfigurationProperties

Name Description Value
privateIPAddress The private IP address referenced by the cloud service. string
publicIPAddress SubResource
subnet SubResource

CloudServiceOsProfile

Name Description Value
secrets Specifies set of certificates that should be installed onto the role instances. CloudServiceVaultSecretGroup[]

CloudServiceVaultSecretGroup

Name Description Value
sourceVault The relative URL of the Key Vault containing all of the certificates in VaultCertificates. SubResource
vaultCertificates The list of key vault references in SourceVault which contain certificates. CloudServiceVaultCertificate[]

CloudServiceVaultCertificate

Name Description Value
certificateUrl This is the URL of a certificate that has been uploaded to Key Vault as a secret. string

CloudServiceRoleProfile

Name Description Value
roles List of roles for the cloud service. CloudServiceRoleProfileProperties[]

CloudServiceRoleProfileProperties

Name Description Value
name Resource name. string
sku Describes the cloud service role sku. CloudServiceRoleSku

CloudServiceRoleSku

Name Description Value
capacity Specifies the number of role instances in the cloud service. int
name 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. string
tier Specifies the tier of the cloud service. Possible Values are

Standard

Basic
string