Microsoft.Compute cloudServices 2020-10-01-preview

Template format

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

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

Property values

The following tables describe the values you need to set in the schema.

Microsoft.Compute/cloudServices object

Note

In Bicep, type and apiVersion are specified in the first line of the resource declaration. Use the format <type>@<apiVersion>. Don't set those properties in the resource body.

Name Type Required Value
name string Yes Name of the cloud service.
type enum Yes For JSON - Microsoft.Compute/cloudServices
apiVersion enum Yes For JSON - 2020-10-01-preview
location string Yes Resource location.
tags object No Resource tags.
properties object Yes CloudServiceProperties object
resources array No

CloudServiceProperties object

Name Type Required Value
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.
configuration string No Specifies the XML service configuration (.cscfg) for the cloud service.
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.
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.
upgradeMode enum 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. - Auto, Manual, Simultaneous
roleProfile object No Describes the role profile for the cloud service. - CloudServiceRoleProfile object
osProfile object No Describes the OS profile for the cloud service. - CloudServiceOsProfile object
networkProfile object No Network Profile for the cloud service. - CloudServiceNetworkProfile object
extensionProfile object No Describes a cloud service extension profile. - CloudServiceExtensionProfile object

CloudServiceRoleProfile object

Name Type Required Value
roles array No List of roles for the cloud service. - CloudServiceRoleProfileProperties object

CloudServiceOsProfile object

Name Type Required Value
secrets array No Specifies set of certificates that should be installed onto the role instances. - CloudServiceVaultSecretGroup object

CloudServiceNetworkProfile object

Name Type Required Value
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 - LoadBalancerConfiguration object
swappableCloudService object No The id reference of the cloudservice containing the target IP with which the subject cloud service can perform a swap. This property cannot be updated once it is set. The swappable cloud service referred by this id must be present otherwise an error will be thrown. - SubResource object

CloudServiceExtensionProfile object

Name Type Required Value
extensions array No List of extensions for the cloud service. - Extension object

CloudServiceRoleProfileProperties object

Name Type Required Value
name string No Resource name.
sku object No CloudServiceRoleSku object

CloudServiceVaultSecretGroup object

Name Type Required Value
sourceVault object No The relative URL of the Key Vault containing all of the certificates in VaultCertificates. - SubResource object
vaultCertificates array No The list of key vault references in SourceVault which contain certificates. - CloudServiceVaultCertificate object

LoadBalancerConfiguration object

Name Type Required Value
name string No The name of the Load balancer.
properties object No Properties of the load balancer configuration. - LoadBalancerConfigurationProperties object

SubResource object

Name Type Required Value
id string No Resource Id

Extension object

Name Type Required Value
name string No The name of the extension.
properties object No CloudServiceExtensionProperties object

CloudServiceRoleSku object

Name Type Required Value
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.
tier string No Specifies the tier of the cloud service. Possible Values are

Standard

Basic
capacity integer No Specifies the number of role instances in the cloud service.

CloudServiceVaultCertificate object

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

LoadBalancerConfigurationProperties object

Name Type Required Value
frontendIPConfigurations array No 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. - LoadBalancerFrontendIPConfiguration object

CloudServiceExtensionProperties object

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

LoadBalancerFrontendIPConfiguration object

Name Type Required Value
name string No 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 object No Properties of load balancer frontend ip configuration. - LoadBalancerFrontendIPConfigurationProperties object

CloudServiceVaultAndSecretReference object

Name Type Required Value
sourceVault object No SubResource object
secretUrl string No

LoadBalancerFrontendIPConfigurationProperties object

Name Type Required Value
publicIPAddress object No The reference to the public ip address resource. - SubResource object
subnet object No The reference to the virtual network subnet resource. - SubResource object
privateIPAddress string No The virtual network private IP address of the IP configuration.