Share via


Microsoft.HybridContainerService provisionedClusterInstances 2023-11-15-preview

Bicep resource definition

The provisionedClusterInstances 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.HybridContainerService/provisionedClusterInstances resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.HybridContainerService/provisionedClusterInstances@2023-11-15-preview' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  name: 'default'
  properties: {
    agentPoolProfiles: [
      {
        availabilityZones: [
          'string'
        ]
        count: int
        name: 'string'
        nodeImageVersion: 'string'
        osSKU: 'string'
        osType: 'string'
        vmSize: 'string'
      }
    ]
    cloudProviderProfile: {
      infraNetworkProfile: {
        vnetSubnetIds: [
          'string'
        ]
      }
    }
    controlPlane: {
      availabilityZones: [
        'string'
      ]
      controlPlaneEndpoint: {
        hostIP: 'string'
        port: int
      }
      count: int
      linuxProfile: {
        ssh: {
          publicKeys: [
            {
              keyData: 'string'
            }
          ]
        }
      }
      name: 'string'
      nodeImageVersion: 'string'
      osSKU: 'string'
      osType: 'string'
      vmSize: 'string'
    }
    kubernetesVersion: 'string'
    licenseProfile: {
      azureHybridBenefit: 'string'
    }
    linuxProfile: {
      ssh: {
        publicKeys: [
          {
            keyData: 'string'
          }
        ]
      }
    }
    networkProfile: {
      loadBalancerProfile: {
        count: int
      }
      networkPolicy: 'string'
      podCidr: 'string'
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
extendedLocation Extended Location definition ExtendedLocation
name The resource name 'default' (required)
properties All properties of the provisioned cluster ProvisionedClusterProperties
scope Use when creating a resource at a scope that is different than the deployment scope. Set this property to the symbolic name of a resource to apply the extension resource.

CloudProviderProfile

Name Description Value
infraNetworkProfile InfraNetworkProfile - List of infra network profiles for the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds Array of references to azure resource corresponding to the Network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ControlPlaneEndpointProfileControlPlaneEndpoint

Name Description Value
hostIP Host IP address for API server string
port Port for the API server int

ControlPlaneProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
controlPlaneEndpoint API server endpoint for the control plane ControlPlaneEndpointProfileControlPlaneEndpoint
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
linuxProfile Profile for Linux VMs in the container service cluster. LinuxProfileProperties
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH - SSH configuration for Linux-based VMs running on Azure. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys PublicKeys - The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile LoadBalancerProfile - Profile of the cluster load balancer. NetworkProfileLoadBalancerProfile
networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico' 'calico'
'flannel'
podCidr PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Count - Number of load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pools of the cluster. NamedAgentPoolProfile[]
cloudProviderProfile The underlying cloud infra provider properties. CloudProviderProfile
controlPlane ControlPlane - ControlPlane Configuration ControlPlaneProfile
kubernetesVersion KubernetesVersion - Version of Kubernetes specified when creating the managed cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile LinuxProfile - The profile for Linux VMs in the Provisioned Cluster. LinuxProfileProperties
networkProfile NetworkProfile - Profile of network configuration. NetworkProfile

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
Hybrid Container Service - Provisioned Cluster Instance AVM Resource Module for Hybrid Container Service - Provisioned Cluster Instance

Azure Quickstart Samples

The following Azure Quickstart templates contain Bicep samples for deploying this resource type.

Bicep File Description
Create a Kubernetes cluster on Azure Stack HCI This template creates a Kubernetes cluster on Azure Stack HCI version 23H2+

ARM template resource definition

The provisionedClusterInstances 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.HybridContainerService/provisionedClusterInstances resource, add the following JSON to your template.

{
  "type": "Microsoft.HybridContainerService/provisionedClusterInstances",
  "apiVersion": "2023-11-15-preview",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "properties": {
    "agentPoolProfiles": [
      {
        "availabilityZones": [ "string" ],
        "count": "int",
        "name": "string",
        "nodeImageVersion": "string",
        "osSKU": "string",
        "osType": "string",
        "vmSize": "string"
      }
    ],
    "cloudProviderProfile": {
      "infraNetworkProfile": {
        "vnetSubnetIds": [ "string" ]
      }
    },
    "controlPlane": {
      "availabilityZones": [ "string" ],
      "controlPlaneEndpoint": {
        "hostIP": "string",
        "port": "int"
      },
      "count": "int",
      "linuxProfile": {
        "ssh": {
          "publicKeys": [
            {
              "keyData": "string"
            }
          ]
        }
      },
      "name": "string",
      "nodeImageVersion": "string",
      "osSKU": "string",
      "osType": "string",
      "vmSize": "string"
    },
    "kubernetesVersion": "string",
    "licenseProfile": {
      "azureHybridBenefit": "string"
    },
    "linuxProfile": {
      "ssh": {
        "publicKeys": [
          {
            "keyData": "string"
          }
        ]
      }
    },
    "networkProfile": {
      "loadBalancerProfile": {
        "count": "int"
      },
      "networkPolicy": "string",
      "podCidr": "string"
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
apiVersion The api version '2023-11-15-preview'
extendedLocation Extended Location definition ExtendedLocation
name The resource name 'default' (required)
properties All properties of the provisioned cluster ProvisionedClusterProperties
type The resource type 'Microsoft.HybridContainerService/provisionedClusterInstances'

CloudProviderProfile

Name Description Value
infraNetworkProfile InfraNetworkProfile - List of infra network profiles for the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds Array of references to azure resource corresponding to the Network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ControlPlaneEndpointProfileControlPlaneEndpoint

Name Description Value
hostIP Host IP address for API server string
port Port for the API server int

ControlPlaneProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
controlPlaneEndpoint API server endpoint for the control plane ControlPlaneEndpointProfileControlPlaneEndpoint
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
linuxProfile Profile for Linux VMs in the container service cluster. LinuxProfileProperties
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH - SSH configuration for Linux-based VMs running on Azure. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys PublicKeys - The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile LoadBalancerProfile - Profile of the cluster load balancer. NetworkProfileLoadBalancerProfile
networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico' 'calico'
'flannel'
podCidr PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Count - Number of load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pools of the cluster. NamedAgentPoolProfile[]
cloudProviderProfile The underlying cloud infra provider properties. CloudProviderProfile
controlPlane ControlPlane - ControlPlane Configuration ControlPlaneProfile
kubernetesVersion KubernetesVersion - Version of Kubernetes specified when creating the managed cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile LinuxProfile - The profile for Linux VMs in the Provisioned Cluster. LinuxProfileProperties
networkProfile NetworkProfile - Profile of network configuration. NetworkProfile

Usage Examples

Azure Quickstart Templates

The following Azure Quickstart templates deploy this resource type.

Template Description
Create a Kubernetes cluster on Azure Stack HCI

Deploy to Azure
This template creates a Kubernetes cluster on Azure Stack HCI version 23H2+

Terraform (AzAPI provider) resource definition

The provisionedClusterInstances 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.HybridContainerService/provisionedClusterInstances resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.HybridContainerService/provisionedClusterInstances@2023-11-15-preview"
  name = "string"
  parent_id = "string"
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    properties = {
      agentPoolProfiles = [
        {
          availabilityZones = [
            "string"
          ]
          count = int
          name = "string"
          nodeImageVersion = "string"
          osSKU = "string"
          osType = "string"
          vmSize = "string"
        }
      ]
      cloudProviderProfile = {
        infraNetworkProfile = {
          vnetSubnetIds = [
            "string"
          ]
        }
      }
      controlPlane = {
        availabilityZones = [
          "string"
        ]
        controlPlaneEndpoint = {
          hostIP = "string"
          port = int
        }
        count = int
        linuxProfile = {
          ssh = {
            publicKeys = [
              {
                keyData = "string"
              }
            ]
          }
        }
        name = "string"
        nodeImageVersion = "string"
        osSKU = "string"
        osType = "string"
        vmSize = "string"
      }
      kubernetesVersion = "string"
      licenseProfile = {
        azureHybridBenefit = "string"
      }
      linuxProfile = {
        ssh = {
          publicKeys = [
            {
              keyData = "string"
            }
          ]
        }
      }
      networkProfile = {
        loadBalancerProfile = {
          count = int
        }
        networkPolicy = "string"
        podCidr = "string"
      }
    }
  }
}

Property Values

Microsoft.HybridContainerService/provisionedClusterInstances

Name Description Value
extendedLocation Extended Location definition ExtendedLocation
name The resource name 'default' (required)
parent_id The ID of the resource to apply this extension resource to. string (required)
properties All properties of the provisioned cluster ProvisionedClusterProperties
type The resource type "Microsoft.HybridContainerService/provisionedClusterInstances@2023-11-15-preview"

CloudProviderProfile

Name Description Value
infraNetworkProfile InfraNetworkProfile - List of infra network profiles for the provisioned cluster CloudProviderProfileInfraNetworkProfile

CloudProviderProfileInfraNetworkProfile

Name Description Value
vnetSubnetIds Array of references to azure resource corresponding to the Network object e.g. /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureStackHCI/logicalNetworks/{logicalNetworkName} string[]

ControlPlaneEndpointProfileControlPlaneEndpoint

Name Description Value
hostIP Host IP address for API server string
port Port for the API server int

ControlPlaneProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
controlPlaneEndpoint API server endpoint for the control plane ControlPlaneEndpointProfileControlPlaneEndpoint
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
linuxProfile Profile for Linux VMs in the container service cluster. LinuxProfileProperties
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

ExtendedLocation

Name Description Value
name The extended location name. string
type The extended location type. 'CustomLocation'

LinuxProfileProperties

Name Description Value
ssh SSH - SSH configuration for Linux-based VMs running on Azure. LinuxProfilePropertiesSsh

LinuxProfilePropertiesSsh

Name Description Value
publicKeys PublicKeys - The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified. LinuxProfilePropertiesSshPublicKeysItem[]

LinuxProfilePropertiesSshPublicKeysItem

Name Description Value
keyData KeyData - Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers. string

NamedAgentPoolProfile

Name Description Value
availabilityZones AvailabilityZones - The list of Availability zones to use for nodes. Datacenter racks modelled as zones string[]
count Count - Number of agents to host docker containers. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. int
name Unique name of the agent pool profile in the context of the subscription and resource group. string
nodeImageVersion The version of node image string
osSKU Specifies the OS SKU used by the agent pool. The default is CBLMariner if OSType is Linux. The default is Windows2019 when OSType is Windows. 'CBLMariner'
'Windows2019'
'Windows2022'
osType The particular KubernetesVersion's Image's OS Type (Linux, Windows) 'Linux'
'Windows'
vmSize VmSize - The size of the agent pool VMs. string

NetworkProfile

Name Description Value
loadBalancerProfile LoadBalancerProfile - Profile of the cluster load balancer. NetworkProfileLoadBalancerProfile
networkPolicy NetworkPolicy - Network policy used for building Kubernetes network. Possible values include: 'calico', 'flannel'. Default is 'calico' 'calico'
'flannel'
podCidr PodCidr - A CIDR notation IP range from which to assign pod IPs when kubenet is used. string

NetworkProfileLoadBalancerProfile

Name Description Value
count Count - Number of load balancer VMs. The default value is 0. int

ProvisionedClusterLicenseProfile

Name Description Value
azureHybridBenefit Indicates whether Azure Hybrid Benefit is opted in 'False'
'NotApplicable'
'True'

ProvisionedClusterProperties

Name Description Value
agentPoolProfiles The agent pools of the cluster. NamedAgentPoolProfile[]
cloudProviderProfile The underlying cloud infra provider properties. CloudProviderProfile
controlPlane ControlPlane - ControlPlane Configuration ControlPlaneProfile
kubernetesVersion KubernetesVersion - Version of Kubernetes specified when creating the managed cluster. string
licenseProfile The license profile of the provisioned cluster. ProvisionedClusterLicenseProfile
linuxProfile LinuxProfile - The profile for Linux VMs in the Provisioned Cluster. LinuxProfileProperties
networkProfile NetworkProfile - Profile of network configuration. NetworkProfile

Usage Examples

Azure Verified Modules

The following Azure Verified Modules can be used to deploy this resource type.

Module Description
AKS Arc AVM Resource Module for AKS Arc