This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

containerservice

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-azure repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-azurerm repo.

class pulumi_azure.containerservice.AwaitableGetClusterNodePoolResult(availability_zones=None, enable_auto_scaling=None, enable_node_public_ip=None, eviction_policy=None, id=None, kubernetes_cluster_name=None, max_count=None, max_pods=None, min_count=None, mode=None, name=None, node_count=None, node_labels=None, node_taints=None, orchestrator_version=None, os_disk_size_gb=None, os_type=None, priority=None, resource_group_name=None, spot_max_price=None, tags=None, vm_size=None, vnet_subnet_id=None)
class pulumi_azure.containerservice.AwaitableGetKubernetesClusterResult(addon_profiles=None, agent_pool_profiles=None, api_server_authorized_ip_ranges=None, disk_encryption_set_id=None, dns_prefix=None, fqdn=None, id=None, identities=None, kube_admin_config_raw=None, kube_admin_configs=None, kube_config_raw=None, kube_configs=None, kubelet_identities=None, kubernetes_version=None, linux_profiles=None, location=None, name=None, network_profiles=None, node_resource_group=None, private_cluster_enabled=None, private_fqdn=None, private_link_enabled=None, resource_group_name=None, role_based_access_controls=None, service_principals=None, tags=None, windows_profiles=None)
class pulumi_azure.containerservice.AwaitableGetKubernetesServiceVersionsResult(id=None, include_preview=None, latest_version=None, location=None, version_prefix=None, versions=None)
class pulumi_azure.containerservice.AwaitableGetRegistryResult(admin_enabled=None, admin_password=None, admin_username=None, id=None, location=None, login_server=None, name=None, resource_group_name=None, sku=None, storage_account_id=None, tags=None)
class pulumi_azure.containerservice.GetClusterNodePoolResult(availability_zones=None, enable_auto_scaling=None, enable_node_public_ip=None, eviction_policy=None, id=None, kubernetes_cluster_name=None, max_count=None, max_pods=None, min_count=None, mode=None, name=None, node_count=None, node_labels=None, node_taints=None, orchestrator_version=None, os_disk_size_gb=None, os_type=None, priority=None, resource_group_name=None, spot_max_price=None, tags=None, vm_size=None, vnet_subnet_id=None)

A collection of values returned by getClusterNodePool.

availability_zones = None

A list of Availability Zones in which the Nodes in this Node Pool exists.

enable_auto_scaling = None

Does this Node Pool have Auto-Scaling enabled?

enable_node_public_ip = None

Do nodes in this Node Pool have a Public IP Address?

eviction_policy = None

The eviction policy used for Virtual Machines in the Virtual Machine Scale Set, when priority is set to Spot.

id = None

The provider-assigned unique ID for this managed resource.

max_count = None

The maximum number of Nodes allowed when auto-scaling is enabled.

max_pods = None

The maximum number of Pods allowed on each Node in this Node Pool.

min_count = None

The minimum number of Nodes allowed when auto-scaling is enabled.

mode = None

The Mode for this Node Pool, specifying how these Nodes should be used (for either System or User resources).

node_count = None

The current number of Nodes in the Node Pool.

node_labels = None

A map of Kubernetes Labels applied to each Node in this Node Pool.

node_taints = None

A map of Kubernetes Taints applied to each Node in this Node Pool.

orchestrator_version = None

The version of Kubernetes configured on each Node in this Node Pool.

os_disk_size_gb = None

The size of the OS Disk on each Node in this Node Pool.

os_type = None

The operating system used on each Node in this Node Pool.

priority = None

The priority of the Virtual Machines in the Virtual Machine Scale Set backing this Node Pool.

spot_max_price = None

The maximum price being paid for Virtual Machines in this Scale Set. -1 means the current on-demand price for a Virtual Machine.

tags = None

A mapping of tags assigned to the Kubernetes Cluster Node Pool.

vm_size = None

The size of the Virtual Machines used in the Virtual Machine Scale Set backing this Node Pool.

vnet_subnet_id = None

The ID of the Subnet in which this Node Pool exists.

class pulumi_azure.containerservice.GetKubernetesClusterResult(addon_profiles=None, agent_pool_profiles=None, api_server_authorized_ip_ranges=None, disk_encryption_set_id=None, dns_prefix=None, fqdn=None, id=None, identities=None, kube_admin_config_raw=None, kube_admin_configs=None, kube_config_raw=None, kube_configs=None, kubelet_identities=None, kubernetes_version=None, linux_profiles=None, location=None, name=None, network_profiles=None, node_resource_group=None, private_cluster_enabled=None, private_fqdn=None, private_link_enabled=None, resource_group_name=None, role_based_access_controls=None, service_principals=None, tags=None, windows_profiles=None)

A collection of values returned by getKubernetesCluster.

addon_profiles = None

A addon_profile block as documented below.

agent_pool_profiles = None

An agent_pool_profile block as documented below.

api_server_authorized_ip_ranges = None

The IP ranges to whitelist for incoming traffic to the masters.

disk_encryption_set_id = None

The ID of the Disk Encryption Set used for the Nodes and Volumes.

dns_prefix = None

The DNS Prefix of the managed Kubernetes cluster.

fqdn = None

The FQDN of the Azure Kubernetes Managed Cluster.

id = None

The provider-assigned unique ID for this managed resource.

identities = None

A identity block as documented below.

kube_admin_config_raw = None

Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.

kube_admin_configs = None

A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.

kube_config_raw = None

Base64 encoded Kubernetes configuration.

kube_configs = None

A kube_config block as defined below.

kubelet_identities = None

A kubelet_identity block as documented below.

kubernetes_version = None

The version of Kubernetes used on the managed Kubernetes Cluster.

linux_profiles = None

A linux_profile block as documented below.

location = None

The Azure Region in which the managed Kubernetes Cluster exists.

name = None

The name assigned to this pool of agents.

network_profiles = None

A network_profile block as documented below.

node_resource_group = None

Auto-generated Resource Group containing AKS Cluster resources.

private_cluster_enabled = None

If the cluster has the Kubernetes API only exposed on internal IP addresses.

private_fqdn = None

The FQDN of this Kubernetes Cluster when private link has been enabled. This name is only resolvable inside the Virtual Network where the Azure Kubernetes Service is located

role_based_access_controls = None

A role_based_access_control block as documented below.

service_principals = None

A service_principal block as documented below.

tags = None

A mapping of tags to assign to the resource.

windows_profiles = None

A windows_profile block as documented below.

class pulumi_azure.containerservice.GetKubernetesServiceVersionsResult(id=None, include_preview=None, latest_version=None, location=None, version_prefix=None, versions=None)

A collection of values returned by getKubernetesServiceVersions.

id = None

The provider-assigned unique ID for this managed resource.

latest_version = None

The most recent version available. If include_preview == false, this is the most recent non-preview version available.

versions = None

The list of all supported versions.

class pulumi_azure.containerservice.GetRegistryResult(admin_enabled=None, admin_password=None, admin_username=None, id=None, location=None, login_server=None, name=None, resource_group_name=None, sku=None, storage_account_id=None, tags=None)

A collection of values returned by getRegistry.

admin_enabled = None

Is the Administrator account enabled for this Container Registry.

admin_password = None

The Password associated with the Container Registry Admin account - if the admin account is enabled.

admin_username = None

The Username associated with the Container Registry Admin account - if the admin account is enabled.

id = None

The provider-assigned unique ID for this managed resource.

location = None

The Azure Region in which this Container Registry exists.

login_server = None

The URL that can be used to log into the container registry.

sku = None

The SKU of this Container Registry, such as Basic.

storage_account_id = None

The ID of the Storage Account used for this Container Registry. This is only returned for Classic SKU’s.

tags = None

A map of tags assigned to the Container Registry.

class pulumi_azure.containerservice.Group(resource_name, opts=None, containers=None, diagnostics=None, dns_name_label=None, identity=None, image_registry_credentials=None, ip_address_type=None, location=None, name=None, network_profile_id=None, os_type=None, resource_group_name=None, restart_policy=None, tags=None, __props__=None, __name__=None, __opts__=None)

Manages as an Azure Container Group instance.

import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_group = azure.containerservice.Group("exampleGroup",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    ip_address_type="public",
    dns_name_label="aci-label",
    os_type="Linux",
    container=[
        {
            "name": "hello-world",
            "image": "microsoft/aci-helloworld:latest",
            "cpu": "0.5",
            "memory": "1.5",
            "ports": [{
                "port": 443,
                "protocol": "TCP",
            }],
        },
        {
            "name": "sidecar",
            "image": "microsoft/aci-tutorial-sidecar",
            "cpu": "0.5",
            "memory": "1.5",
        },
    ],
    tags={
        "environment": "testing",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • containers (pulumi.Input[list]) – The definition of a container that is part of the group as documented in the container block below. Changing this forces a new resource to be created.

  • diagnostics (pulumi.Input[dict]) – A diagnostics block as documented below.

  • dns_name_label (pulumi.Input[str]) – The DNS label/name for the container groups IP. Changing this forces a new resource to be created.

  • identity (pulumi.Input[dict]) – An identity block as defined below.

  • image_registry_credentials (pulumi.Input[list]) – A image_registry_credential block as documented below. Changing this forces a new resource to be created.

  • ip_address_type (pulumi.Input[str]) – Specifies the ip address type of the container. Public or Private. Changing this forces a new resource to be created. If set to Private, network_profile_id also needs to be set.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Group. Changing this forces a new resource to be created.

  • network_profile_id (pulumi.Input[str]) – Network profile ID for deploying to virtual network.

  • os_type (pulumi.Input[str]) – The OS for the container group. Allowed values are Linux and Windows. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.

  • restart_policy (pulumi.Input[str]) – Restart policy for the container group. Allowed values are Always, Never, OnFailure. Defaults to Always. Changing this forces a new resource to be created.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource. Changing this forces a new resource to be created.

The containers object supports the following:

  • commands (pulumi.Input[list]) - A list of commands which should be run on the container. Changing this forces a new resource to be created.

  • cpu (pulumi.Input[float]) - The required number of CPU cores of the containers. Changing this forces a new resource to be created.

  • environmentVariables (pulumi.Input[dict]) - A list of environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • gpu (pulumi.Input[dict]) - A gpu block as defined below. Changing this forces a new resource to be created.

    • count (pulumi.Input[float]) - The number of GPUs which should be assigned to this container. Allowed values are 1, 2, or 4. Changing this forces a new resource to be created.

    • sku (pulumi.Input[str]) - The Sku which should be used for the GPU. Possible values are K80, P100, or V100. Changing this forces a new resource to be created.

  • image (pulumi.Input[str]) - The container image name. Changing this forces a new resource to be created.

  • livenessProbe (pulumi.Input[dict]) - The definition of a readiness probe for this container as documented in the liveness_probe block below. Changing this forces a new resource to be created.

    • execs (pulumi.Input[list]) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (pulumi.Input[float]) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (pulumi.Input[list]) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (pulumi.Input[str]) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (pulumi.Input[str]) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (pulumi.Input[float]) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (pulumi.Input[float]) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (pulumi.Input[float]) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (pulumi.Input[float]) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • memory (pulumi.Input[float]) - The required memory of the containers in GB. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

  • ports (pulumi.Input[list]) - A set of public ports for the container. Changing this forces a new resource to be created. Set as documented in the ports block below.

    • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

    • protocol (pulumi.Input[str]) - The network protocol associated with port. Possible values are TCP & UDP. Changing this forces a new resource to be created.

  • readinessProbe (pulumi.Input[dict]) - The definition of a readiness probe for this container as documented in the readiness_probe block below. Changing this forces a new resource to be created.

    • execs (pulumi.Input[list]) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (pulumi.Input[float]) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (pulumi.Input[list]) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (pulumi.Input[str]) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (pulumi.Input[str]) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (pulumi.Input[float]) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (pulumi.Input[float]) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (pulumi.Input[float]) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (pulumi.Input[float]) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • secureEnvironmentVariables (pulumi.Input[dict]) - A list of sensitive environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • volumes (pulumi.Input[list]) - The definition of a volume mount for this container as documented in the volume block below. Changing this forces a new resource to be created.

    • mountPath (pulumi.Input[str]) - The path on which this volume is to be mounted. Changing this forces a new resource to be created.

    • name (pulumi.Input[str]) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

    • readOnly (pulumi.Input[bool]) - Specify if the volume is to be mounted as read only or not. The default value is false. Changing this forces a new resource to be created.

    • share_name (pulumi.Input[str]) - The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_key (pulumi.Input[str]) - The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_name (pulumi.Input[str]) - The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.

The diagnostics object supports the following:

  • logAnalytics (pulumi.Input[dict]) - A log_analytics block as defined below. Changing this forces a new resource to be created.

    • logType (pulumi.Input[str]) - The log type which should be used. Possible values are ContainerInsights and ContainerInstanceLogs. Changing this forces a new resource to be created.

    • metadata (pulumi.Input[dict]) - Any metadata required for Log Analytics. Changing this forces a new resource to be created.

    • workspace_id (pulumi.Input[str]) - The Workspace ID of the Log Analytics Workspace. Changing this forces a new resource to be created.

    • workspaceKey (pulumi.Input[str]) - The Workspace Key of the Log Analytics Workspace. Changing this forces a new resource to be created.

The identity object supports the following:

  • identityIds (pulumi.Input[list]) - Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned. Changing this forces a new resource to be created.

  • principal_id (pulumi.Input[str])

  • type (pulumi.Input[str]) - The Managed Service Identity Type of this container group. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities. Changing this forces a new resource to be created.

The image_registry_credentials object supports the following:

  • password (pulumi.Input[str]) - The password with which to connect to the registry. Changing this forces a new resource to be created.

  • server (pulumi.Input[str]) - The address to use to connect to the registry without protocol (“https”/”http”). For example: “myacr.acr.io”. Changing this forces a new resource to be created.

  • username (pulumi.Input[str]) - The username with which to connect to the registry. Changing this forces a new resource to be created.

containers: pulumi.Output[list] = None

The definition of a container that is part of the group as documented in the container block below. Changing this forces a new resource to be created.

  • commands (list) - A list of commands which should be run on the container. Changing this forces a new resource to be created.

  • cpu (float) - The required number of CPU cores of the containers. Changing this forces a new resource to be created.

  • environmentVariables (dict) - A list of environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • gpu (dict) - A gpu block as defined below. Changing this forces a new resource to be created.

    • count (float) - The number of GPUs which should be assigned to this container. Allowed values are 1, 2, or 4. Changing this forces a new resource to be created.

    • sku (str) - The Sku which should be used for the GPU. Possible values are K80, P100, or V100. Changing this forces a new resource to be created.

  • image (str) - The container image name. Changing this forces a new resource to be created.

  • livenessProbe (dict) - The definition of a readiness probe for this container as documented in the liveness_probe block below. Changing this forces a new resource to be created.

    • execs (list) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (float) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (list) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (str) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (float) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (str) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (float) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (float) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (float) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (float) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • memory (float) - The required memory of the containers in GB. Changing this forces a new resource to be created.

  • name (str) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

  • ports (list) - A set of public ports for the container. Changing this forces a new resource to be created. Set as documented in the ports block below.

    • port (float) - The port number the container will expose. Changing this forces a new resource to be created.

    • protocol (str) - The network protocol associated with port. Possible values are TCP & UDP. Changing this forces a new resource to be created.

  • readinessProbe (dict) - The definition of a readiness probe for this container as documented in the readiness_probe block below. Changing this forces a new resource to be created.

    • execs (list) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (float) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (list) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (str) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (float) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (str) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (float) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (float) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (float) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (float) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • secureEnvironmentVariables (dict) - A list of sensitive environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • volumes (list) - The definition of a volume mount for this container as documented in the volume block below. Changing this forces a new resource to be created.

    • mountPath (str) - The path on which this volume is to be mounted. Changing this forces a new resource to be created.

    • name (str) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

    • readOnly (bool) - Specify if the volume is to be mounted as read only or not. The default value is false. Changing this forces a new resource to be created.

    • share_name (str) - The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_key (str) - The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_name (str) - The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.

diagnostics: pulumi.Output[dict] = None

A diagnostics block as documented below.

  • logAnalytics (dict) - A log_analytics block as defined below. Changing this forces a new resource to be created.

    • logType (str) - The log type which should be used. Possible values are ContainerInsights and ContainerInstanceLogs. Changing this forces a new resource to be created.

    • metadata (dict) - Any metadata required for Log Analytics. Changing this forces a new resource to be created.

    • workspace_id (str) - The Workspace ID of the Log Analytics Workspace. Changing this forces a new resource to be created.

    • workspaceKey (str) - The Workspace Key of the Log Analytics Workspace. Changing this forces a new resource to be created.

dns_name_label: pulumi.Output[str] = None

The DNS label/name for the container groups IP. Changing this forces a new resource to be created.

fqdn: pulumi.Output[str] = None

The FQDN of the container group derived from dns_name_label.

identity: pulumi.Output[dict] = None

An identity block as defined below.

  • identityIds (list) - Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned. Changing this forces a new resource to be created.

  • principal_id (str)

  • type (str) - The Managed Service Identity Type of this container group. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities. Changing this forces a new resource to be created.

image_registry_credentials: pulumi.Output[list] = None

A image_registry_credential block as documented below. Changing this forces a new resource to be created.

  • password (str) - The password with which to connect to the registry. Changing this forces a new resource to be created.

  • server (str) - The address to use to connect to the registry without protocol (“https”/”http”). For example: “myacr.acr.io”. Changing this forces a new resource to be created.

  • username (str) - The username with which to connect to the registry. Changing this forces a new resource to be created.

ip_address: pulumi.Output[str] = None

The IP address allocated to the container group.

ip_address_type: pulumi.Output[str] = None

Specifies the ip address type of the container. Public or Private. Changing this forces a new resource to be created. If set to Private, network_profile_id also needs to be set.

location: pulumi.Output[str] = None

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name: pulumi.Output[str] = None

Specifies the name of the Container Group. Changing this forces a new resource to be created.

network_profile_id: pulumi.Output[str] = None

Network profile ID for deploying to virtual network.

os_type: pulumi.Output[str] = None

The OS for the container group. Allowed values are Linux and Windows. Changing this forces a new resource to be created.

resource_group_name: pulumi.Output[str] = None

The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.

restart_policy: pulumi.Output[str] = None

Restart policy for the container group. Allowed values are Always, Never, OnFailure. Defaults to Always. Changing this forces a new resource to be created.

tags: pulumi.Output[dict] = None

A mapping of tags to assign to the resource. Changing this forces a new resource to be created.

static get(resource_name, id, opts=None, containers=None, diagnostics=None, dns_name_label=None, fqdn=None, identity=None, image_registry_credentials=None, ip_address=None, ip_address_type=None, location=None, name=None, network_profile_id=None, os_type=None, resource_group_name=None, restart_policy=None, tags=None)

Get an existing Group resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • containers (pulumi.Input[list]) – The definition of a container that is part of the group as documented in the container block below. Changing this forces a new resource to be created.

  • diagnostics (pulumi.Input[dict]) – A diagnostics block as documented below.

  • dns_name_label (pulumi.Input[str]) – The DNS label/name for the container groups IP. Changing this forces a new resource to be created.

  • fqdn (pulumi.Input[str]) – The FQDN of the container group derived from dns_name_label.

  • identity (pulumi.Input[dict]) – An identity block as defined below.

  • image_registry_credentials (pulumi.Input[list]) – A image_registry_credential block as documented below. Changing this forces a new resource to be created.

  • ip_address (pulumi.Input[str]) – The IP address allocated to the container group.

  • ip_address_type (pulumi.Input[str]) – Specifies the ip address type of the container. Public or Private. Changing this forces a new resource to be created. If set to Private, network_profile_id also needs to be set.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Group. Changing this forces a new resource to be created.

  • network_profile_id (pulumi.Input[str]) – Network profile ID for deploying to virtual network.

  • os_type (pulumi.Input[str]) – The OS for the container group. Allowed values are Linux and Windows. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Group. Changing this forces a new resource to be created.

  • restart_policy (pulumi.Input[str]) – Restart policy for the container group. Allowed values are Always, Never, OnFailure. Defaults to Always. Changing this forces a new resource to be created.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource. Changing this forces a new resource to be created.

The containers object supports the following:

  • commands (pulumi.Input[list]) - A list of commands which should be run on the container. Changing this forces a new resource to be created.

  • cpu (pulumi.Input[float]) - The required number of CPU cores of the containers. Changing this forces a new resource to be created.

  • environmentVariables (pulumi.Input[dict]) - A list of environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • gpu (pulumi.Input[dict]) - A gpu block as defined below. Changing this forces a new resource to be created.

    • count (pulumi.Input[float]) - The number of GPUs which should be assigned to this container. Allowed values are 1, 2, or 4. Changing this forces a new resource to be created.

    • sku (pulumi.Input[str]) - The Sku which should be used for the GPU. Possible values are K80, P100, or V100. Changing this forces a new resource to be created.

  • image (pulumi.Input[str]) - The container image name. Changing this forces a new resource to be created.

  • livenessProbe (pulumi.Input[dict]) - The definition of a readiness probe for this container as documented in the liveness_probe block below. Changing this forces a new resource to be created.

    • execs (pulumi.Input[list]) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (pulumi.Input[float]) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (pulumi.Input[list]) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (pulumi.Input[str]) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (pulumi.Input[str]) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (pulumi.Input[float]) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (pulumi.Input[float]) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (pulumi.Input[float]) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (pulumi.Input[float]) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • memory (pulumi.Input[float]) - The required memory of the containers in GB. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

  • ports (pulumi.Input[list]) - A set of public ports for the container. Changing this forces a new resource to be created. Set as documented in the ports block below.

    • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

    • protocol (pulumi.Input[str]) - The network protocol associated with port. Possible values are TCP & UDP. Changing this forces a new resource to be created.

  • readinessProbe (pulumi.Input[dict]) - The definition of a readiness probe for this container as documented in the readiness_probe block below. Changing this forces a new resource to be created.

    • execs (pulumi.Input[list]) - Commands to be run to validate container readiness. Changing this forces a new resource to be created.

    • failureThreshold (pulumi.Input[float]) - How many times to try the probe before restarting the container (liveness probe) or marking the container as unhealthy (readiness probe). The default value is 3 and the minimum value is 1. Changing this forces a new resource to be created.

    • httpGets (pulumi.Input[list]) - The definition of the httpget for this container as documented in the httpget block below. Changing this forces a new resource to be created.

      • path (pulumi.Input[str]) - Path to access on the HTTP server. Changing this forces a new resource to be created.

      • port (pulumi.Input[float]) - The port number the container will expose. Changing this forces a new resource to be created.

      • scheme (pulumi.Input[str]) - Scheme to use for connecting to the host. Possible values are Http and Https. Changing this forces a new resource to be created.

    • initialDelaySeconds (pulumi.Input[float]) - Number of seconds after the container has started before liveness or readiness probes are initiated. Changing this forces a new resource to be created.

    • periodSeconds (pulumi.Input[float]) - How often (in seconds) to perform the probe. The default value is 10 and the minimum value is 1. Changing this forces a new resource to be created.

    • successThreshold (pulumi.Input[float]) - Minimum consecutive successes for the probe to be considered successful after having failed. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

    • timeoutSeconds (pulumi.Input[float]) - Number of seconds after which the probe times out. The default value is 1 and the minimum value is 1. Changing this forces a new resource to be created.

  • secureEnvironmentVariables (pulumi.Input[dict]) - A list of sensitive environment variables to be set on the container. Specified as a map of name/value pairs. Changing this forces a new resource to be created.

  • volumes (pulumi.Input[list]) - The definition of a volume mount for this container as documented in the volume block below. Changing this forces a new resource to be created.

    • mountPath (pulumi.Input[str]) - The path on which this volume is to be mounted. Changing this forces a new resource to be created.

    • name (pulumi.Input[str]) - Specifies the name of the Container Group. Changing this forces a new resource to be created.

    • readOnly (pulumi.Input[bool]) - Specify if the volume is to be mounted as read only or not. The default value is false. Changing this forces a new resource to be created.

    • share_name (pulumi.Input[str]) - The Azure storage share that is to be mounted as a volume. This must be created on the storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_key (pulumi.Input[str]) - The access key for the Azure Storage account specified as above. Changing this forces a new resource to be created.

    • storage_account_name (pulumi.Input[str]) - The Azure storage account from which the volume is to be mounted. Changing this forces a new resource to be created.

The diagnostics object supports the following:

  • logAnalytics (pulumi.Input[dict]) - A log_analytics block as defined below. Changing this forces a new resource to be created.

    • logType (pulumi.Input[str]) - The log type which should be used. Possible values are ContainerInsights and ContainerInstanceLogs. Changing this forces a new resource to be created.

    • metadata (pulumi.Input[dict]) - Any metadata required for Log Analytics. Changing this forces a new resource to be created.

    • workspace_id (pulumi.Input[str]) - The Workspace ID of the Log Analytics Workspace. Changing this forces a new resource to be created.

    • workspaceKey (pulumi.Input[str]) - The Workspace Key of the Log Analytics Workspace. Changing this forces a new resource to be created.

The identity object supports the following:

  • identityIds (pulumi.Input[list]) - Specifies a list of user managed identity ids to be assigned. Required if type is UserAssigned. Changing this forces a new resource to be created.

  • principal_id (pulumi.Input[str])

  • type (pulumi.Input[str]) - The Managed Service Identity Type of this container group. Possible values are SystemAssigned (where Azure will generate a Service Principal for you), UserAssigned where you can specify the Service Principal IDs in the identity_ids field, and SystemAssigned, UserAssigned which assigns both a system managed identity as well as the specified user assigned identities. Changing this forces a new resource to be created.

The image_registry_credentials object supports the following:

  • password (pulumi.Input[str]) - The password with which to connect to the registry. Changing this forces a new resource to be created.

  • server (pulumi.Input[str]) - The address to use to connect to the registry without protocol (“https”/”http”). For example: “myacr.acr.io”. Changing this forces a new resource to be created.

  • username (pulumi.Input[str]) - The username with which to connect to the registry. Changing this forces a new resource to be created.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_azure.containerservice.KubernetesCluster(resource_name, opts=None, addon_profile=None, api_server_authorized_ip_ranges=None, auto_scaler_profile=None, default_node_pool=None, disk_encryption_set_id=None, dns_prefix=None, enable_pod_security_policy=None, identity=None, kubernetes_version=None, linux_profile=None, location=None, name=None, network_profile=None, node_resource_group=None, private_cluster_enabled=None, private_link_enabled=None, resource_group_name=None, role_based_access_control=None, service_principal=None, sku_tier=None, tags=None, windows_profile=None, __props__=None, __name__=None, __opts__=None)

Manages a Managed Kubernetes Cluster (also known as AKS / Azure Kubernetes Service)

import pulumi
import pulumi_azure as azure

example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
example_kubernetes_cluster = azure.containerservice.KubernetesCluster("exampleKubernetesCluster",
    location=example_resource_group.location,
    resource_group_name=example_resource_group.name,
    dns_prefix="exampleaks1",
    default_node_pool={
        "name": "default",
        "node_count": 1,
        "vm_size": "Standard_D2_v2",
    },
    identity={
        "type": "SystemAssigned",
    },
    tags={
        "Environment": "Production",
    })
pulumi.export("clientCertificate", example_kubernetes_cluster.kube_configs[0]["clientCertificate"])
pulumi.export("kubeConfig", example_kubernetes_cluster.kube_config_raw)
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • addon_profile (pulumi.Input[dict]) – A addon_profile block as defined below.

  • api_server_authorized_ip_ranges (pulumi.Input[list]) – The IP ranges to whitelist for incoming traffic to the masters.

  • auto_scaler_profile (pulumi.Input[dict]) – A auto_scaler_profile block as defined below.

  • default_node_pool (pulumi.Input[dict]) – A default_node_pool block as defined below.

  • disk_encryption_set_id (pulumi.Input[str]) – The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.

  • dns_prefix (pulumi.Input[str]) – DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.

  • enable_pod_security_policy (pulumi.Input[bool]) – Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.

  • identity (pulumi.Input[dict]) – A identity block as defined below. Changing this forces a new resource to be created.

  • kubernetes_version (pulumi.Input[str]) – Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).

  • linux_profile (pulumi.Input[dict]) – A linux_profile block as defined below.

  • location (pulumi.Input[str]) – The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.

  • network_profile (pulumi.Input[dict]) – A network_profile block as defined below.

  • node_resource_group (pulumi.Input[str]) – The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.

  • private_cluster_enabled (pulumi.Input[bool]) – Should this Kubernetes Cluster have it’s API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.

  • role_based_access_control (pulumi.Input[dict]) – A role_based_access_control block. Changing this forces a new resource to be created.

  • service_principal (pulumi.Input[dict]) – A service_principal block as documented below.

  • sku_tier (pulumi.Input[str]) – The SKU Tier that should be used for this Kubernetes Cluster. Changing this forces a new resource to be created. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource.

  • windows_profile (pulumi.Input[dict]) – A windows_profile block as defined below.

The addon_profile object supports the following:

  • aciConnectorLinux (pulumi.Input[dict]) - A aci_connector_linux block. For more details, please visit Create and configure an AKS cluster to use virtual nodes.

    • enabled (pulumi.Input[bool]) - Is the virtual node addon enabled?

    • subnetName (pulumi.Input[str]) - The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.

  • azurePolicy (pulumi.Input[dict]) - A azure_policy block as defined below. For more details please visit Understand Azure Policy for Azure Kubernetes Service

    • enabled (pulumi.Input[bool]) - Is the Azure Policy for Kubernetes Add On enabled?

  • httpApplicationRouting (pulumi.Input[dict]) - A http_application_routing block as defined below.

    • enabled (pulumi.Input[bool]) - Is HTTP Application Routing Enabled? Changing this forces a new resource to be created.

    • httpApplicationRoutingZoneName (pulumi.Input[str]) - The Zone Name of the HTTP Application Routing.

  • kubeDashboard (pulumi.Input[dict]) - A kube_dashboard block as defined below.

    • enabled (pulumi.Input[bool]) - Is the Kubernetes Dashboard enabled?

  • omsAgent (pulumi.Input[dict]) - A oms_agent block as defined below. For more details, please visit How to onboard Azure Monitor for containers.

    • enabled (pulumi.Input[bool]) - Is the OMS Agent Enabled?

    • log_analytics_workspace_id (pulumi.Input[str]) - The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.

    • omsAgentIdentities (pulumi.Input[list]) - An oms_agent_identity block as defined below.

      • client_id (pulumi.Input[str]) - The Client ID for the Service Principal.

      • object_id (pulumi.Input[str]) - The Object ID of the user-defined Managed Identity used by the OMS Agents.

      • userAssignedIdentityId (pulumi.Input[str]) - The ID of the User Assigned Identity used by the OMS Agents.

The auto_scaler_profile object supports the following:

  • balanceSimilarNodeGroups (pulumi.Input[bool]) - Detect similar node groups and balance the number of nodes between them. Defaults to false.

  • maxGracefulTerminationSec (pulumi.Input[str]) - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.

  • scaleDownDelayAfterAdd (pulumi.Input[str]) - How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.

  • scaleDownDelayAfterDelete (pulumi.Input[str]) - How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.

  • scaleDownDelayAfterFailure (pulumi.Input[str]) - How long after scale down failure that scale down evaluation resumes. Defaults to 3m.

  • scaleDownUnneeded (pulumi.Input[str]) - How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.

  • scaleDownUnready (pulumi.Input[str]) - How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.

  • scaleDownUtilizationThreshold (pulumi.Input[str]) - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.

  • scanInterval (pulumi.Input[str]) - How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.

The default_node_pool object supports the following:

  • availability_zones (pulumi.Input[list]) - A list of Availability Zones across which the Node Pool should be spread.

  • enable_auto_scaling (pulumi.Input[bool]) - Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.

  • enable_node_public_ip (pulumi.Input[bool]) - Should nodes in this Node Pool have a Public IP Address? Defaults to false.

  • max_count (pulumi.Input[float]) - The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • max_pods (pulumi.Input[float]) - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

  • min_count (pulumi.Input[float]) - The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • name (pulumi.Input[str]) - The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.

  • node_count (pulumi.Input[float]) - The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100 and between min_count and max_count.

  • node_labels (pulumi.Input[dict]) - A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.

  • node_taints (pulumi.Input[list]) - A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created.

  • orchestrator_version (pulumi.Input[str]) - Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)

  • os_disk_size_gb (pulumi.Input[float]) - The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.

  • tags (pulumi.Input[dict]) - A mapping of tags to assign to the Node Pool.

  • type (pulumi.Input[str]) - The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.

  • vm_size (pulumi.Input[str]) - The size of the Virtual Machine, such as Standard_DS2_v2.

  • vnet_subnet_id (pulumi.Input[str]) - The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.

The identity object supports the following:

  • principal_id (pulumi.Input[str]) - The principal id of the system assigned identity which is used by master components.

  • tenant_id (pulumi.Input[str]) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • type (pulumi.Input[str]) - The type of identity used for the managed cluster. At this time the only supported value is SystemAssigned.

The linux_profile object supports the following:

  • admin_username (pulumi.Input[str]) - The Admin Username for the Cluster. Changing this forces a new resource to be created.

  • ssh_key (pulumi.Input[dict]) - An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.

    • keyData (pulumi.Input[str]) - The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.

The network_profile object supports the following:

  • dnsServiceIp (pulumi.Input[str]) - IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.

  • dockerBridgeCidr (pulumi.Input[str]) - IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.

  • loadBalancerProfile (pulumi.Input[dict]) - A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.

    • effectiveOutboundIps (pulumi.Input[list]) - The outcome (resource IDs) of the specified arguments.

    • idle_timeout_in_minutes (pulumi.Input[float]) - Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.

    • managedOutboundIpCount (pulumi.Input[float]) - Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.

    • outboundIpAddressIds (pulumi.Input[list]) - The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.

    • outboundIpPrefixIds (pulumi.Input[list]) - The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.

    • outboundPortsAllocated (pulumi.Input[float]) - Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.

  • loadBalancerSku (pulumi.Input[str]) - Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.

  • networkPlugin (pulumi.Input[str]) - Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.

  • networkPolicy (pulumi.Input[str]) - Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.

  • outboundType (pulumi.Input[str]) - The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.

  • podCidr (pulumi.Input[str]) - The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.

  • serviceCidr (pulumi.Input[str]) - The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.

The role_based_access_control object supports the following:

  • azure_active_directory (pulumi.Input[dict]) - An azure_active_directory block.

    • adminGroupObjectIds (pulumi.Input[list]) - A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.

    • clientAppId (pulumi.Input[str]) - The Client ID of an Azure Active Directory Application.

    • managed (pulumi.Input[bool]) - Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.

    • serverAppId (pulumi.Input[str]) - The Server ID of an Azure Active Directory Application.

    • serverAppSecret (pulumi.Input[str]) - The Server Secret of an Azure Active Directory Application.

    • tenant_id (pulumi.Input[str]) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • enabled (pulumi.Input[bool]) - Is Role Based Access Control Enabled? Changing this forces a new resource to be created.

The service_principal object supports the following:

  • client_id (pulumi.Input[str]) - The Client ID for the Service Principal.

  • client_secret (pulumi.Input[str]) - The Client Secret for the Service Principal.

The windows_profile object supports the following:

  • admin_password (pulumi.Input[str]) - The Admin Password for Windows VMs.

  • admin_username (pulumi.Input[str]) - The Admin Username for Windows VMs.

addon_profile: pulumi.Output[dict] = None

A addon_profile block as defined below.

  • aciConnectorLinux (dict) - A aci_connector_linux block. For more details, please visit Create and configure an AKS cluster to use virtual nodes.

    • enabled (bool) - Is the virtual node addon enabled?

    • subnetName (str) - The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.

  • azurePolicy (dict) - A azure_policy block as defined below. For more details please visit Understand Azure Policy for Azure Kubernetes Service

    • enabled (bool) - Is the Azure Policy for Kubernetes Add On enabled?

  • httpApplicationRouting (dict) - A http_application_routing block as defined below.

    • enabled (bool) - Is HTTP Application Routing Enabled? Changing this forces a new resource to be created.

    • httpApplicationRoutingZoneName (str) - The Zone Name of the HTTP Application Routing.

  • kubeDashboard (dict) - A kube_dashboard block as defined below.

    • enabled (bool) - Is the Kubernetes Dashboard enabled?

  • omsAgent (dict) - A oms_agent block as defined below. For more details, please visit How to onboard Azure Monitor for containers.

    • enabled (bool) - Is the OMS Agent Enabled?

    • log_analytics_workspace_id (str) - The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.

    • omsAgentIdentities (list) - An oms_agent_identity block as defined below.

      • client_id (str) - The Client ID for the Service Principal.

      • object_id (str) - The Object ID of the user-defined Managed Identity used by the OMS Agents.

      • userAssignedIdentityId (str) - The ID of the User Assigned Identity used by the OMS Agents.

api_server_authorized_ip_ranges: pulumi.Output[list] = None

The IP ranges to whitelist for incoming traffic to the masters.

auto_scaler_profile: pulumi.Output[dict] = None

A auto_scaler_profile block as defined below.

  • balanceSimilarNodeGroups (bool) - Detect similar node groups and balance the number of nodes between them. Defaults to false.

  • maxGracefulTerminationSec (str) - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.

  • scaleDownDelayAfterAdd (str) - How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.

  • scaleDownDelayAfterDelete (str) - How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.

  • scaleDownDelayAfterFailure (str) - How long after scale down failure that scale down evaluation resumes. Defaults to 3m.

  • scaleDownUnneeded (str) - How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.

  • scaleDownUnready (str) - How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.

  • scaleDownUtilizationThreshold (str) - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.

  • scanInterval (str) - How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.

default_node_pool: pulumi.Output[dict] = None

A default_node_pool block as defined below.

  • availability_zones (list) - A list of Availability Zones across which the Node Pool should be spread.

  • enable_auto_scaling (bool) - Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.

  • enable_node_public_ip (bool) - Should nodes in this Node Pool have a Public IP Address? Defaults to false.

  • max_count (float) - The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • max_pods (float) - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

  • min_count (float) - The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • name (str) - The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.

  • node_count (float) - The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100 and between min_count and max_count.

  • node_labels (dict) - A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.

  • node_taints (list) - A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created.

  • orchestrator_version (str) - Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)

  • os_disk_size_gb (float) - The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.

  • tags (dict) - A mapping of tags to assign to the Node Pool.

  • type (str) - The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.

  • vm_size (str) - The size of the Virtual Machine, such as Standard_DS2_v2.

  • vnet_subnet_id (str) - The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.

disk_encryption_set_id: pulumi.Output[str] = None

The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.

dns_prefix: pulumi.Output[str] = None

DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.

enable_pod_security_policy: pulumi.Output[bool] = None

Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.

fqdn: pulumi.Output[str] = None

The FQDN of the Azure Kubernetes Managed Cluster.

identity: pulumi.Output[dict] = None

A identity block as defined below. Changing this forces a new resource to be created.

  • principal_id (str) - The principal id of the system assigned identity which is used by master components.

  • tenant_id (str) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • type (str) - The type of identity used for the managed cluster. At this time the only supported value is SystemAssigned.

kube_admin_config_raw: pulumi.Output[str] = None

Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.

kube_admin_configs: pulumi.Output[list] = None

A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.

  • clientCertificate (str) - Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.

  • clientKey (str) - Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.

  • clusterCaCertificate (str) - Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.

  • host (str) - The Kubernetes cluster server host.

  • password (str) - A password or token used to authenticate to the Kubernetes cluster.

  • username (str) - A username used to authenticate to the Kubernetes cluster.

kube_config_raw: pulumi.Output[str] = None

Raw Kubernetes config to be used by kubectl and other compatible tools

kube_configs: pulumi.Output[list] = None

A kube_config block as defined below.

  • clientCertificate (str) - Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.

  • clientKey (str) - Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.

  • clusterCaCertificate (str) - Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.

  • host (str) - The Kubernetes cluster server host.

  • password (str) - A password or token used to authenticate to the Kubernetes cluster.

  • username (str) - A username used to authenticate to the Kubernetes cluster.

kubelet_identities: pulumi.Output[list] = None

A kubelet_identity block as defined below.

  • client_id (str) - The Client ID for the Service Principal.

  • object_id (str) - The Object ID of the user-defined Managed Identity used by the OMS Agents.

  • userAssignedIdentityId (str) - The ID of the User Assigned Identity used by the OMS Agents.

kubernetes_version: pulumi.Output[str] = None

Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).

linux_profile: pulumi.Output[dict] = None

A linux_profile block as defined below.

  • admin_username (str) - The Admin Username for the Cluster. Changing this forces a new resource to be created.

  • ssh_key (dict) - An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.

    • keyData (str) - The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.

location: pulumi.Output[str] = None

The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.

name: pulumi.Output[str] = None

The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.

network_profile: pulumi.Output[dict] = None

A network_profile block as defined below.

  • dnsServiceIp (str) - IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.

  • dockerBridgeCidr (str) - IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.

  • loadBalancerProfile (dict) - A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.

    • effectiveOutboundIps (list) - The outcome (resource IDs) of the specified arguments.

    • idle_timeout_in_minutes (float) - Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.

    • managedOutboundIpCount (float) - Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.

    • outboundIpAddressIds (list) - The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.

    • outboundIpPrefixIds (list) - The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.

    • outboundPortsAllocated (float) - Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.

  • loadBalancerSku (str) - Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.

  • networkPlugin (str) - Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.

  • networkPolicy (str) - Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.

  • outboundType (str) - The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.

  • podCidr (str) - The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.

  • serviceCidr (str) - The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.

node_resource_group: pulumi.Output[str] = None

The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.

private_cluster_enabled: pulumi.Output[bool] = None

Should this Kubernetes Cluster have it’s API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.

private_fqdn: pulumi.Output[str] = None

The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.

resource_group_name: pulumi.Output[str] = None

Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.

role_based_access_control: pulumi.Output[dict] = None

A role_based_access_control block. Changing this forces a new resource to be created.

  • azure_active_directory (dict) - An azure_active_directory block.

    • adminGroupObjectIds (list) - A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.

    • clientAppId (str) - The Client ID of an Azure Active Directory Application.

    • managed (bool) - Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.

    • serverAppId (str) - The Server ID of an Azure Active Directory Application.

    • serverAppSecret (str) - The Server Secret of an Azure Active Directory Application.

    • tenant_id (str) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • enabled (bool) - Is Role Based Access Control Enabled? Changing this forces a new resource to be created.

service_principal: pulumi.Output[dict] = None

A service_principal block as documented below.

  • client_id (str) - The Client ID for the Service Principal.

  • client_secret (str) - The Client Secret for the Service Principal.

sku_tier: pulumi.Output[str] = None

The SKU Tier that should be used for this Kubernetes Cluster. Changing this forces a new resource to be created. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.

tags: pulumi.Output[dict] = None

A mapping of tags to assign to the resource.

windows_profile: pulumi.Output[dict] = None

A windows_profile block as defined below.

  • admin_password (str) - The Admin Password for Windows VMs.

  • admin_username (str) - The Admin Username for Windows VMs.

static get(resource_name, id, opts=None, addon_profile=None, api_server_authorized_ip_ranges=None, auto_scaler_profile=None, default_node_pool=None, disk_encryption_set_id=None, dns_prefix=None, enable_pod_security_policy=None, fqdn=None, identity=None, kube_admin_config_raw=None, kube_admin_configs=None, kube_config_raw=None, kube_configs=None, kubelet_identities=None, kubernetes_version=None, linux_profile=None, location=None, name=None, network_profile=None, node_resource_group=None, private_cluster_enabled=None, private_fqdn=None, private_link_enabled=None, resource_group_name=None, role_based_access_control=None, service_principal=None, sku_tier=None, tags=None, windows_profile=None)

Get an existing KubernetesCluster resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • addon_profile (pulumi.Input[dict]) – A addon_profile block as defined below.

  • api_server_authorized_ip_ranges (pulumi.Input[list]) – The IP ranges to whitelist for incoming traffic to the masters.

  • auto_scaler_profile (pulumi.Input[dict]) – A auto_scaler_profile block as defined below.

  • default_node_pool (pulumi.Input[dict]) – A default_node_pool block as defined below.

  • disk_encryption_set_id (pulumi.Input[str]) –

    The ID of the Disk Encryption Set which should be used for the Nodes and Volumes. More information can be found in the documentation.

  • dns_prefix (pulumi.Input[str]) – DNS prefix specified when creating the managed cluster. Changing this forces a new resource to be created.

  • enable_pod_security_policy (pulumi.Input[bool]) – Whether Pod Security Policies are enabled. Note that this also requires role based access control to be enabled.

  • fqdn (pulumi.Input[str]) – The FQDN of the Azure Kubernetes Managed Cluster.

  • identity (pulumi.Input[dict]) – A identity block as defined below. Changing this forces a new resource to be created.

  • kube_admin_config_raw (pulumi.Input[str]) –

    Raw Kubernetes config for the admin account to be used by kubectl and other compatible tools. This is only available when Role Based Access Control with Azure Active Directory is enabled.

  • kube_admin_configs (pulumi.Input[list]) – A kube_admin_config block as defined below. This is only available when Role Based Access Control with Azure Active Directory is enabled.

  • kube_config_raw (pulumi.Input[str]) –

    Raw Kubernetes config to be used by kubectl and other compatible tools

  • kube_configs (pulumi.Input[list]) – A kube_config block as defined below.

  • kubelet_identities (pulumi.Input[list]) – A kubelet_identity block as defined below.

  • kubernetes_version (pulumi.Input[str]) – Version of Kubernetes specified when creating the AKS managed cluster. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade).

  • linux_profile (pulumi.Input[dict]) – A linux_profile block as defined below.

  • location (pulumi.Input[str]) – The location where the Managed Kubernetes Cluster should be created. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – The name of the Managed Kubernetes Cluster to create. Changing this forces a new resource to be created.

  • network_profile (pulumi.Input[dict]) – A network_profile block as defined below.

  • node_resource_group (pulumi.Input[str]) – The name of the Resource Group where the Kubernetes Nodes should exist. Changing this forces a new resource to be created.

  • private_cluster_enabled (pulumi.Input[bool]) – Should this Kubernetes Cluster have it’s API server only exposed on internal IP addresses? This provides a Private IP Address for the Kubernetes API on the Virtual Network where the Kubernetes Cluster is located. Defaults to false. Changing this forces a new resource to be created.

  • private_fqdn (pulumi.Input[str]) – The FQDN for the Kubernetes Cluster when private link has been enabled, which is only resolvable inside the Virtual Network used by the Kubernetes Cluster.

  • resource_group_name (pulumi.Input[str]) – Specifies the Resource Group where the Managed Kubernetes Cluster should exist. Changing this forces a new resource to be created.

  • role_based_access_control (pulumi.Input[dict]) – A role_based_access_control block. Changing this forces a new resource to be created.

  • service_principal (pulumi.Input[dict]) – A service_principal block as documented below.

  • sku_tier (pulumi.Input[str]) – The SKU Tier that should be used for this Kubernetes Cluster. Changing this forces a new resource to be created. Possible values are Free and Paid (which includes the Uptime SLA). Defaults to Free.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource.

  • windows_profile (pulumi.Input[dict]) – A windows_profile block as defined below.

The addon_profile object supports the following:

  • aciConnectorLinux (pulumi.Input[dict]) - A aci_connector_linux block. For more details, please visit Create and configure an AKS cluster to use virtual nodes.

    • enabled (pulumi.Input[bool]) - Is the virtual node addon enabled?

    • subnetName (pulumi.Input[str]) - The subnet name for the virtual nodes to run. This is required when aci_connector_linux enabled argument is set to true.

  • azurePolicy (pulumi.Input[dict]) - A azure_policy block as defined below. For more details please visit Understand Azure Policy for Azure Kubernetes Service

    • enabled (pulumi.Input[bool]) - Is the Azure Policy for Kubernetes Add On enabled?

  • httpApplicationRouting (pulumi.Input[dict]) - A http_application_routing block as defined below.

    • enabled (pulumi.Input[bool]) - Is HTTP Application Routing Enabled? Changing this forces a new resource to be created.

    • httpApplicationRoutingZoneName (pulumi.Input[str]) - The Zone Name of the HTTP Application Routing.

  • kubeDashboard (pulumi.Input[dict]) - A kube_dashboard block as defined below.

    • enabled (pulumi.Input[bool]) - Is the Kubernetes Dashboard enabled?

  • omsAgent (pulumi.Input[dict]) - A oms_agent block as defined below. For more details, please visit How to onboard Azure Monitor for containers.

    • enabled (pulumi.Input[bool]) - Is the OMS Agent Enabled?

    • log_analytics_workspace_id (pulumi.Input[str]) - The ID of the Log Analytics Workspace which the OMS Agent should send data to. Must be present if enabled is true.

    • omsAgentIdentities (pulumi.Input[list]) - An oms_agent_identity block as defined below.

      • client_id (pulumi.Input[str]) - The Client ID for the Service Principal.

      • object_id (pulumi.Input[str]) - The Object ID of the user-defined Managed Identity used by the OMS Agents.

      • userAssignedIdentityId (pulumi.Input[str]) - The ID of the User Assigned Identity used by the OMS Agents.

The auto_scaler_profile object supports the following:

  • balanceSimilarNodeGroups (pulumi.Input[bool]) - Detect similar node groups and balance the number of nodes between them. Defaults to false.

  • maxGracefulTerminationSec (pulumi.Input[str]) - Maximum number of seconds the cluster autoscaler waits for pod termination when trying to scale down a node. Defaults to 600.

  • scaleDownDelayAfterAdd (pulumi.Input[str]) - How long after the scale up of AKS nodes the scale down evaluation resumes. Defaults to 10m.

  • scaleDownDelayAfterDelete (pulumi.Input[str]) - How long after node deletion that scale down evaluation resumes. Defaults to the value used for scan_interval.

  • scaleDownDelayAfterFailure (pulumi.Input[str]) - How long after scale down failure that scale down evaluation resumes. Defaults to 3m.

  • scaleDownUnneeded (pulumi.Input[str]) - How long a node should be unneeded before it is eligible for scale down. Defaults to 10m.

  • scaleDownUnready (pulumi.Input[str]) - How long an unready node should be unneeded before it is eligible for scale down. Defaults to 20m.

  • scaleDownUtilizationThreshold (pulumi.Input[str]) - Node utilization level, defined as sum of requested resources divided by capacity, below which a node can be considered for scale down. Defaults to 0.5.

  • scanInterval (pulumi.Input[str]) - How often the AKS Cluster should be re-evaluated for scale up/down. Defaults to 10s.

The default_node_pool object supports the following:

  • availability_zones (pulumi.Input[list]) - A list of Availability Zones across which the Node Pool should be spread.

  • enable_auto_scaling (pulumi.Input[bool]) - Should the Kubernetes Auto Scaler be enabled for this Node Pool? Defaults to false.

  • enable_node_public_ip (pulumi.Input[bool]) - Should nodes in this Node Pool have a Public IP Address? Defaults to false.

  • max_count (pulumi.Input[float]) - The maximum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • max_pods (pulumi.Input[float]) - The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

  • min_count (pulumi.Input[float]) - The minimum number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100.

  • name (pulumi.Input[str]) - The name which should be used for the default Kubernetes Node Pool. Changing this forces a new resource to be created.

  • node_count (pulumi.Input[float]) - The initial number of nodes which should exist in this Node Pool. If specified this must be between 1 and 100 and between min_count and max_count.

  • node_labels (pulumi.Input[dict]) - A map of Kubernetes labels which should be applied to nodes in the Default Node Pool. Changing this forces a new resource to be created.

  • node_taints (pulumi.Input[list]) - A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created.

  • orchestrator_version (pulumi.Input[str]) - Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)

  • os_disk_size_gb (pulumi.Input[float]) - The size of the OS Disk which should be used for each agent in the Node Pool. Changing this forces a new resource to be created.

  • tags (pulumi.Input[dict]) - A mapping of tags to assign to the Node Pool.

  • type (pulumi.Input[str]) - The type of Node Pool which should be created. Possible values are AvailabilitySet and VirtualMachineScaleSets. Defaults to VirtualMachineScaleSets.

  • vm_size (pulumi.Input[str]) - The size of the Virtual Machine, such as Standard_DS2_v2.

  • vnet_subnet_id (pulumi.Input[str]) - The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.

The identity object supports the following:

  • principal_id (pulumi.Input[str]) - The principal id of the system assigned identity which is used by master components.

  • tenant_id (pulumi.Input[str]) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • type (pulumi.Input[str]) - The type of identity used for the managed cluster. At this time the only supported value is SystemAssigned.

The kube_admin_configs object supports the following:

  • clientCertificate (pulumi.Input[str]) - Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.

  • clientKey (pulumi.Input[str]) - Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.

  • clusterCaCertificate (pulumi.Input[str]) - Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.

  • host (pulumi.Input[str]) - The Kubernetes cluster server host.

  • password (pulumi.Input[str]) - A password or token used to authenticate to the Kubernetes cluster.

  • username (pulumi.Input[str]) - A username used to authenticate to the Kubernetes cluster.

The kube_configs object supports the following:

  • clientCertificate (pulumi.Input[str]) - Base64 encoded public certificate used by clients to authenticate to the Kubernetes cluster.

  • clientKey (pulumi.Input[str]) - Base64 encoded private key used by clients to authenticate to the Kubernetes cluster.

  • clusterCaCertificate (pulumi.Input[str]) - Base64 encoded public CA certificate used as the root of trust for the Kubernetes cluster.

  • host (pulumi.Input[str]) - The Kubernetes cluster server host.

  • password (pulumi.Input[str]) - A password or token used to authenticate to the Kubernetes cluster.

  • username (pulumi.Input[str]) - A username used to authenticate to the Kubernetes cluster.

The kubelet_identities object supports the following:

  • client_id (pulumi.Input[str]) - The Client ID for the Service Principal.

  • object_id (pulumi.Input[str]) - The Object ID of the user-defined Managed Identity used by the OMS Agents.

  • userAssignedIdentityId (pulumi.Input[str]) - The ID of the User Assigned Identity used by the OMS Agents.

The linux_profile object supports the following:

  • admin_username (pulumi.Input[str]) - The Admin Username for the Cluster. Changing this forces a new resource to be created.

  • ssh_key (pulumi.Input[dict]) - An ssh_key block. Only one is currently allowed. Changing this forces a new resource to be created.

    • keyData (pulumi.Input[str]) - The Public SSH Key used to access the cluster. Changing this forces a new resource to be created.

The network_profile object supports the following:

  • dnsServiceIp (pulumi.Input[str]) - IP address within the Kubernetes service address range that will be used by cluster service discovery (kube-dns). Changing this forces a new resource to be created.

  • dockerBridgeCidr (pulumi.Input[str]) - IP address (in CIDR notation) used as the Docker bridge IP address on nodes. Changing this forces a new resource to be created.

  • loadBalancerProfile (pulumi.Input[dict]) - A load_balancer_profile block. This can only be specified when load_balancer_sku is set to Standard.

    • effectiveOutboundIps (pulumi.Input[list]) - The outcome (resource IDs) of the specified arguments.

    • idle_timeout_in_minutes (pulumi.Input[float]) - Desired outbound flow idle timeout in minutes for the cluster load balancer. Must be between 4 and 120 inclusive. Defaults to 30.

    • managedOutboundIpCount (pulumi.Input[float]) - Count of desired managed outbound IPs for the cluster load balancer. Must be between 1 and 100 inclusive.

    • outboundIpAddressIds (pulumi.Input[list]) - The ID of the Public IP Addresses which should be used for outbound communication for the cluster load balancer.

    • outboundIpPrefixIds (pulumi.Input[list]) - The ID of the outbound Public IP Address Prefixes which should be used for the cluster load balancer.

    • outboundPortsAllocated (pulumi.Input[float]) - Number of desired SNAT port for each VM in the clusters load balancer. Must be between 0 and 64000 inclusive. Defaults to 0.

  • loadBalancerSku (pulumi.Input[str]) - Specifies the SKU of the Load Balancer used for this Kubernetes Cluster. Possible values are Basic and Standard. Defaults to Standard.

  • networkPlugin (pulumi.Input[str]) - Network plugin to use for networking. Currently supported values are azure and kubenet. Changing this forces a new resource to be created.

  • networkPolicy (pulumi.Input[str]) - Sets up network policy to be used with Azure CNI. Network policy allows us to control the traffic flow between pods. Currently supported values are calico and azure. Changing this forces a new resource to be created.

  • outboundType (pulumi.Input[str]) - The outbound (egress) routing method which should be used for this Kubernetes Cluster. Possible values are loadBalancer and userDefinedRouting. Defaults to loadBalancer.

  • podCidr (pulumi.Input[str]) - The CIDR to use for pod IP addresses. This field can only be set when network_plugin is set to kubenet. Changing this forces a new resource to be created.

  • serviceCidr (pulumi.Input[str]) - The Network Range used by the Kubernetes service. Changing this forces a new resource to be created.

The role_based_access_control object supports the following:

  • azure_active_directory (pulumi.Input[dict]) - An azure_active_directory block.

    • adminGroupObjectIds (pulumi.Input[list]) - A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.

    • clientAppId (pulumi.Input[str]) - The Client ID of an Azure Active Directory Application.

    • managed (pulumi.Input[bool]) - Is the Azure Active Directory integration Managed, meaning that Azure will create/manage the Service Principal used for integration.

    • serverAppId (pulumi.Input[str]) - The Server ID of an Azure Active Directory Application.

    • serverAppSecret (pulumi.Input[str]) - The Server Secret of an Azure Active Directory Application.

    • tenant_id (pulumi.Input[str]) - The Tenant ID used for Azure Active Directory Application. If this isn’t specified the Tenant ID of the current Subscription is used.

  • enabled (pulumi.Input[bool]) - Is Role Based Access Control Enabled? Changing this forces a new resource to be created.

The service_principal object supports the following:

  • client_id (pulumi.Input[str]) - The Client ID for the Service Principal.

  • client_secret (pulumi.Input[str]) - The Client Secret for the Service Principal.

The windows_profile object supports the following:

  • admin_password (pulumi.Input[str]) - The Admin Password for Windows VMs.

  • admin_username (pulumi.Input[str]) - The Admin Username for Windows VMs.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_azure.containerservice.KubernetesClusterNodePool(resource_name, opts=None, availability_zones=None, enable_auto_scaling=None, enable_node_public_ip=None, eviction_policy=None, kubernetes_cluster_id=None, max_count=None, max_pods=None, min_count=None, mode=None, name=None, node_count=None, node_labels=None, node_taints=None, orchestrator_version=None, os_disk_size_gb=None, os_type=None, priority=None, spot_max_price=None, tags=None, vm_size=None, vnet_subnet_id=None, __props__=None, __name__=None, __opts__=None)

Create a KubernetesClusterNodePool resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[list] availability_zones: A list of Availability Zones where the Nodes in this Node Pool should be created in. :param pulumi.Input[bool] enable_auto_scaling: Whether to enable auto-scaler. Defaults to false. :param pulumi.Input[bool] enable_node_public_ip: Should each node have a Public IP Address? Defaults to false. :param pulumi.Input[str] eviction_policy: The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created. :param pulumi.Input[str] kubernetes_cluster_id: The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created. :param pulumi.Input[float] max_count: The maximum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be greater than or equal to min_count. :param pulumi.Input[float] max_pods: The maximum number of pods that can run on each agent. Changing this forces a new resource to be created. :param pulumi.Input[float] min_count: The minimum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be less than or equal to max_count. :param pulumi.Input[str] mode: Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User. :param pulumi.Input[str] name: The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created. :param pulumi.Input[float] node_count: The initial number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be a value in the range min_count - max_count. :param pulumi.Input[dict] node_labels: A map of Kubernetes labels which should be applied to nodes in this Node Pool. Changing this forces a new resource to be created. :param pulumi.Input[list] node_taints: A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created. :param pulumi.Input[str] orchestrator_version: Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade) :param pulumi.Input[float] os_disk_size_gb: The Agent Operating System disk size in GB. Changing this forces a new resource to be created. :param pulumi.Input[str] os_type: The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux. :param pulumi.Input[str] priority: The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created. :param pulumi.Input[float] spot_max_price: The maximum price you’re willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created. :param pulumi.Input[dict] tags: A mapping of tags to assign to the resource. :param pulumi.Input[str] vm_size: The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created. :param pulumi.Input[str] vnet_subnet_id: The ID of the Subnet where this Node Pool should exist.

availability_zones: pulumi.Output[list] = None

A list of Availability Zones where the Nodes in this Node Pool should be created in.

enable_auto_scaling: pulumi.Output[bool] = None

Whether to enable auto-scaler. Defaults to false.

enable_node_public_ip: pulumi.Output[bool] = None

Should each node have a Public IP Address? Defaults to false.

eviction_policy: pulumi.Output[str] = None

The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

kubernetes_cluster_id: pulumi.Output[str] = None

The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

max_count: pulumi.Output[float] = None

The maximum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be greater than or equal to min_count.

max_pods: pulumi.Output[float] = None

The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

min_count: pulumi.Output[float] = None

The minimum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be less than or equal to max_count.

mode: pulumi.Output[str] = None

Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.

name: pulumi.Output[str] = None

The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

node_count: pulumi.Output[float] = None

The initial number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be a value in the range min_count - max_count.

node_labels: pulumi.Output[dict] = None

A map of Kubernetes labels which should be applied to nodes in this Node Pool. Changing this forces a new resource to be created.

node_taints: pulumi.Output[list] = None

A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created.

orchestrator_version: pulumi.Output[str] = None

Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)

os_disk_size_gb: pulumi.Output[float] = None

The Agent Operating System disk size in GB. Changing this forces a new resource to be created.

os_type: pulumi.Output[str] = None

The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.

priority: pulumi.Output[str] = None

The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

spot_max_price: pulumi.Output[float] = None

The maximum price you’re willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

tags: pulumi.Output[dict] = None

A mapping of tags to assign to the resource.

vm_size: pulumi.Output[str] = None

The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.

vnet_subnet_id: pulumi.Output[str] = None

The ID of the Subnet where this Node Pool should exist.

static get(resource_name, id, opts=None, availability_zones=None, enable_auto_scaling=None, enable_node_public_ip=None, eviction_policy=None, kubernetes_cluster_id=None, max_count=None, max_pods=None, min_count=None, mode=None, name=None, node_count=None, node_labels=None, node_taints=None, orchestrator_version=None, os_disk_size_gb=None, os_type=None, priority=None, spot_max_price=None, tags=None, vm_size=None, vnet_subnet_id=None)

Get an existing KubernetesClusterNodePool resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • availability_zones (pulumi.Input[list]) – A list of Availability Zones where the Nodes in this Node Pool should be created in.

  • enable_auto_scaling (pulumi.Input[bool]) –

    Whether to enable auto-scaler. Defaults to false.

  • enable_node_public_ip (pulumi.Input[bool]) – Should each node have a Public IP Address? Defaults to false.

  • eviction_policy (pulumi.Input[str]) – The Eviction Policy which should be used for Virtual Machines within the Virtual Machine Scale Set powering this Node Pool. Possible values are Deallocate and Delete. Changing this forces a new resource to be created.

  • kubernetes_cluster_id (pulumi.Input[str]) – The ID of the Kubernetes Cluster where this Node Pool should exist. Changing this forces a new resource to be created.

  • max_count (pulumi.Input[float]) – The maximum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be greater than or equal to min_count.

  • max_pods (pulumi.Input[float]) – The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

  • min_count (pulumi.Input[float]) – The minimum number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be less than or equal to max_count.

  • mode (pulumi.Input[str]) – Should this Node Pool be used for System or User resources? Possible values are System and User. Defaults to User.

  • name (pulumi.Input[str]) – The name of the Node Pool which should be created within the Kubernetes Cluster. Changing this forces a new resource to be created.

  • node_count (pulumi.Input[float]) – The initial number of nodes which should exist within this Node Pool. Valid values are between 1 and 100 and must be a value in the range min_count - max_count.

  • node_labels (pulumi.Input[dict]) – A map of Kubernetes labels which should be applied to nodes in this Node Pool. Changing this forces a new resource to be created.

  • node_taints (pulumi.Input[list]) – A list of Kubernetes taints which should be applied to nodes in the agent pool (e.g key=value:NoSchedule). Changing this forces a new resource to be created.

  • orchestrator_version (pulumi.Input[str]) – Version of Kubernetes used for the Agents. If not specified, the latest recommended version will be used at provisioning time (but won’t auto-upgrade)

  • os_disk_size_gb (pulumi.Input[float]) – The Agent Operating System disk size in GB. Changing this forces a new resource to be created.

  • os_type (pulumi.Input[str]) – The Operating System which should be used for this Node Pool. Changing this forces a new resource to be created. Possible values are Linux and Windows. Defaults to Linux.

  • priority (pulumi.Input[str]) – The Priority for Virtual Machines within the Virtual Machine Scale Set that powers this Node Pool. Possible values are Regular and Spot. Defaults to Regular. Changing this forces a new resource to be created.

  • spot_max_price (pulumi.Input[float]) – The maximum price you’re willing to pay in USD per Virtual Machine. Valid values are -1 (the current on-demand price for a Virtual Machine) or a positive value with up to five decimal places. Changing this forces a new resource to be created.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource.

  • vm_size (pulumi.Input[str]) – The SKU which should be used for the Virtual Machines used in this Node Pool. Changing this forces a new resource to be created.

  • vnet_subnet_id (pulumi.Input[str]) – The ID of the Subnet where this Node Pool should exist.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_azure.containerservice.Registry(resource_name, opts=None, admin_enabled=None, georeplication_locations=None, location=None, name=None, network_rule_set=None, resource_group_name=None, sku=None, storage_account_id=None, tags=None, __props__=None, __name__=None, __opts__=None)

Manages an Azure Container Registry.

import pulumi
import pulumi_azure as azure

rg = azure.core.ResourceGroup("rg", location="West US")
acr = azure.containerservice.Registry("acr",
    resource_group_name=rg.name,
    location=rg.location,
    sku="Premium",
    admin_enabled=False,
    georeplication_locations=[
        "East US",
        "West Europe",
    ])
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • admin_enabled (pulumi.Input[bool]) – Specifies whether the admin user is enabled. Defaults to false.

  • georeplication_locations (pulumi.Input[list]) – A list of Azure locations where the container registry should be geo-replicated.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry. Changing this forces a new resource to be created.

  • network_rule_set (pulumi.Input[dict]) – A network_rule_set block as documented below.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.

  • sku (pulumi.Input[str]) – The SKU name of the container registry. Possible values are Basic, Standard and Premium. Classic (which was previously Basic) is supported only for existing resources.

  • storage_account_id (pulumi.Input[str]) – The ID of a Storage Account which must be located in the same Azure Region as the Container Registry.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource.

The network_rule_set object supports the following:

  • default_action (pulumi.Input[str]) - The behaviour for requests matching no rules. Either Allow or Deny. Defaults to Allow

  • ip_rules (pulumi.Input[list]) - One or more ip_rule blocks as defined below.

    • action (pulumi.Input[str]) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • ipRange (pulumi.Input[str]) - The CIDR block from which requests will match the rule.

  • virtualNetworks (pulumi.Input[list]) - One or more virtual_network blocks as defined below.

    • action (pulumi.Input[str]) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • subnet_id (pulumi.Input[str]) - The subnet id from which requests will match the rule.

admin_enabled: pulumi.Output[bool] = None

Specifies whether the admin user is enabled. Defaults to false.

admin_password: pulumi.Output[str] = None

The Password associated with the Container Registry Admin account - if the admin account is enabled.

admin_username: pulumi.Output[str] = None

The Username associated with the Container Registry Admin account - if the admin account is enabled.

georeplication_locations: pulumi.Output[list] = None

A list of Azure locations where the container registry should be geo-replicated.

location: pulumi.Output[str] = None

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

login_server: pulumi.Output[str] = None

The URL that can be used to log into the container registry.

name: pulumi.Output[str] = None

Specifies the name of the Container Registry. Changing this forces a new resource to be created.

network_rule_set: pulumi.Output[dict] = None

A network_rule_set block as documented below.

  • default_action (str) - The behaviour for requests matching no rules. Either Allow or Deny. Defaults to Allow

  • ip_rules (list) - One or more ip_rule blocks as defined below.

    • action (str) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • ipRange (str) - The CIDR block from which requests will match the rule.

  • virtualNetworks (list) - One or more virtual_network blocks as defined below.

    • action (str) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • subnet_id (str) - The subnet id from which requests will match the rule.

resource_group_name: pulumi.Output[str] = None

The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.

sku: pulumi.Output[str] = None

The SKU name of the container registry. Possible values are Basic, Standard and Premium. Classic (which was previously Basic) is supported only for existing resources.

storage_account_id: pulumi.Output[str] = None

The ID of a Storage Account which must be located in the same Azure Region as the Container Registry.

tags: pulumi.Output[dict] = None

A mapping of tags to assign to the resource.

static get(resource_name, id, opts=None, admin_enabled=None, admin_password=None, admin_username=None, georeplication_locations=None, location=None, login_server=None, name=None, network_rule_set=None, resource_group_name=None, sku=None, storage_account_id=None, tags=None)

Get an existing Registry resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • admin_enabled (pulumi.Input[bool]) – Specifies whether the admin user is enabled. Defaults to false.

  • admin_password (pulumi.Input[str]) – The Password associated with the Container Registry Admin account - if the admin account is enabled.

  • admin_username (pulumi.Input[str]) – The Username associated with the Container Registry Admin account - if the admin account is enabled.

  • georeplication_locations (pulumi.Input[list]) – A list of Azure locations where the container registry should be geo-replicated.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • login_server (pulumi.Input[str]) – The URL that can be used to log into the container registry.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry. Changing this forces a new resource to be created.

  • network_rule_set (pulumi.Input[dict]) – A network_rule_set block as documented below.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry. Changing this forces a new resource to be created.

  • sku (pulumi.Input[str]) – The SKU name of the container registry. Possible values are Basic, Standard and Premium. Classic (which was previously Basic) is supported only for existing resources.

  • storage_account_id (pulumi.Input[str]) – The ID of a Storage Account which must be located in the same Azure Region as the Container Registry.

  • tags (pulumi.Input[dict]) – A mapping of tags to assign to the resource.

The network_rule_set object supports the following:

  • default_action (pulumi.Input[str]) - The behaviour for requests matching no rules. Either Allow or Deny. Defaults to Allow

  • ip_rules (pulumi.Input[list]) - One or more ip_rule blocks as defined below.

    • action (pulumi.Input[str]) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • ipRange (pulumi.Input[str]) - The CIDR block from which requests will match the rule.

  • virtualNetworks (pulumi.Input[list]) - One or more virtual_network blocks as defined below.

    • action (pulumi.Input[str]) - The behaviour for requests matching this rule. At this time the only supported value is Allow

    • subnet_id (pulumi.Input[str]) - The subnet id from which requests will match the rule.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_azure.containerservice.RegistryWebhook(resource_name, opts=None, actions=None, custom_headers=None, location=None, name=None, registry_name=None, resource_group_name=None, scope=None, service_uri=None, status=None, tags=None, __props__=None, __name__=None, __opts__=None)

Manages an Azure Container Registry Webhook.

import pulumi
import pulumi_azure as azure

rg = azure.core.ResourceGroup("rg", location="West US")
acr = azure.containerservice.Registry("acr",
    resource_group_name=rg.name,
    location=rg.location,
    sku="Standard",
    admin_enabled=False)
webhook = azure.containerservice.RegistryWebhook("webhook",
    resource_group_name=rg.name,
    registry_name=acr.name,
    location=rg.location,
    service_uri="https://mywebhookreceiver.example/mytag",
    status="enabled",
    scope="mytag:*",
    actions=["push"],
    custom_headers={
        "Content-Type": "application/json",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • actions (pulumi.Input[list]) – A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

  • custom_headers (pulumi.Input[dict]) – Custom headers that will be added to the webhook notifications request.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

  • registry_name (pulumi.Input[str]) – The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

  • scope (pulumi.Input[str]) – Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

  • service_uri (pulumi.Input[str]) – Specifies the service URI for the Webhook to post notifications.

  • status (pulumi.Input[str]) – Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

actions: pulumi.Output[list] = None

A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

custom_headers: pulumi.Output[dict] = None

Custom headers that will be added to the webhook notifications request.

location: pulumi.Output[str] = None

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name: pulumi.Output[str] = None

Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

registry_name: pulumi.Output[str] = None

The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

resource_group_name: pulumi.Output[str] = None

The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

scope: pulumi.Output[str] = None

Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

service_uri: pulumi.Output[str] = None

Specifies the service URI for the Webhook to post notifications.

status: pulumi.Output[str] = None

Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

static get(resource_name, id, opts=None, actions=None, custom_headers=None, location=None, name=None, registry_name=None, resource_group_name=None, scope=None, service_uri=None, status=None, tags=None)

Get an existing RegistryWebhook resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • actions (pulumi.Input[list]) – A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

  • custom_headers (pulumi.Input[dict]) – Custom headers that will be added to the webhook notifications request.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

  • registry_name (pulumi.Input[str]) – The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

  • scope (pulumi.Input[str]) – Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

  • service_uri (pulumi.Input[str]) – Specifies the service URI for the Webhook to post notifications.

  • status (pulumi.Input[str]) – Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

class pulumi_azure.containerservice.RegistryWebook(resource_name, opts=None, actions=None, custom_headers=None, location=None, name=None, registry_name=None, resource_group_name=None, scope=None, service_uri=None, status=None, tags=None, __props__=None, __name__=None, __opts__=None)

Manages an Azure Container Registry Webhook.

import pulumi
import pulumi_azure as azure

rg = azure.core.ResourceGroup("rg", location="West US")
acr = azure.containerservice.Registry("acr",
    resource_group_name=rg.name,
    location=rg.location,
    sku="Standard",
    admin_enabled=False)
webhook = azure.containerservice.RegistryWebhook("webhook",
    resource_group_name=rg.name,
    registry_name=acr.name,
    location=rg.location,
    service_uri="https://mywebhookreceiver.example/mytag",
    status="enabled",
    scope="mytag:*",
    actions=["push"],
    custom_headers={
        "Content-Type": "application/json",
    })
Parameters
  • resource_name (str) – The name of the resource.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • actions (pulumi.Input[list]) – A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

  • custom_headers (pulumi.Input[dict]) – Custom headers that will be added to the webhook notifications request.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

  • registry_name (pulumi.Input[str]) – The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

  • scope (pulumi.Input[str]) – Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

  • service_uri (pulumi.Input[str]) – Specifies the service URI for the Webhook to post notifications.

  • status (pulumi.Input[str]) – Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

actions: pulumi.Output[list] = None

A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

custom_headers: pulumi.Output[dict] = None

Custom headers that will be added to the webhook notifications request.

location: pulumi.Output[str] = None

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

name: pulumi.Output[str] = None

Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

registry_name: pulumi.Output[str] = None

The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

resource_group_name: pulumi.Output[str] = None

The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

scope: pulumi.Output[str] = None

Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

service_uri: pulumi.Output[str] = None

Specifies the service URI for the Webhook to post notifications.

status: pulumi.Output[str] = None

Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

static get(resource_name, id, opts=None, actions=None, custom_headers=None, location=None, name=None, registry_name=None, resource_group_name=None, scope=None, service_uri=None, status=None, tags=None)

Get an existing RegistryWebook resource’s state with the given name, id, and optional extra properties used to qualify the lookup.

Parameters
  • resource_name (str) – The unique name of the resulting resource.

  • id (str) – The unique provider ID of the resource to lookup.

  • opts (pulumi.ResourceOptions) – Options for the resource.

  • actions (pulumi.Input[list]) – A list of actions that trigger the Webhook to post notifications. At least one action needs to be specified. Valid values are: push, delete, quarantine, chart_push, chart_delete

  • custom_headers (pulumi.Input[dict]) – Custom headers that will be added to the webhook notifications request.

  • location (pulumi.Input[str]) – Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

  • name (pulumi.Input[str]) – Specifies the name of the Container Registry Webhook. Changing this forces a new resource to be created.

  • registry_name (pulumi.Input[str]) – The Name of Container registry this Webhook belongs to. Changing this forces a new resource to be created.

  • resource_group_name (pulumi.Input[str]) – The name of the resource group in which to create the Container Registry Webhook. Changing this forces a new resource to be created.

  • scope (pulumi.Input[str]) – Specifies the scope of repositories that can trigger an event. For example, foo:* means events for all tags under repository foo. foo:bar means events for ‘foo:bar’ only. foo is equivalent to foo:latest. Empty means all events.

  • service_uri (pulumi.Input[str]) – Specifies the service URI for the Webhook to post notifications.

  • status (pulumi.Input[str]) – Specifies if this Webhook triggers notifications or not. Valid values: enabled and disabled. Default is enabled.

translate_output_property(prop)

Provides subclasses of Resource an opportunity to translate names of output properties into a format of their choosing before writing those properties to the resource object.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

translate_input_property(prop)

Provides subclasses of Resource an opportunity to translate names of input properties into a format of their choosing before sending those properties to the Pulumi engine.

Parameters

prop (str) – A property name.

Returns

A potentially transformed property name.

Return type

str

pulumi_azure.containerservice.get_cluster_node_pool(kubernetes_cluster_name=None, name=None, resource_group_name=None, opts=None)

Use this data source to access information about an existing Kubernetes Cluster Node Pool.

import pulumi
import pulumi_azure as azure

example = azure.containerservice.get_cluster_node_pool(name="existing",
    kubernetes_cluster_name="existing-cluster",
    resource_group_name="existing-resource-group")
pulumi.export("id", example.id)
Parameters
  • kubernetes_cluster_name (str) – The Name of the Kubernetes Cluster where this Node Pool is located.

  • name (str) – The name of this Kubernetes Cluster Node Pool.

  • resource_group_name (str) – The name of the Resource Group where the Kubernetes Cluster exists.

pulumi_azure.containerservice.get_kubernetes_cluster(name=None, resource_group_name=None, opts=None)

Use this data source to access information about an existing Managed Kubernetes Cluster (AKS).

import pulumi
import pulumi_azure as azure

example = azure.containerservice.get_kubernetes_cluster(name="myakscluster",
    resource_group_name="my-example-resource-group")
Parameters
  • name (str) – The name of the managed Kubernetes Cluster.

  • resource_group_name (str) – The name of the Resource Group in which the managed Kubernetes Cluster exists.

pulumi_azure.containerservice.get_kubernetes_service_versions(include_preview=None, location=None, version_prefix=None, opts=None)

Use this data source to retrieve the version of Kubernetes supported by Azure Kubernetes Service.

import pulumi
import pulumi_azure as azure

current = azure.containerservice.get_kubernetes_service_versions(location="West Europe")
pulumi.export("versions", current.versions)
pulumi.export("latestVersion", current.latest_version)
Parameters
  • include_preview (bool) – Should Preview versions of Kubernetes in AKS be included? Defaults to true

  • location (str) – Specifies the location in which to query for versions.

  • version_prefix (str) – A prefix filter for the versions of Kubernetes which should be returned; for example 1. will return 1.9 to 1.14, whereas 1.12 will return 1.12.2.

pulumi_azure.containerservice.get_registry(name=None, resource_group_name=None, opts=None)

Use this data source to access information about an existing Container Registry.

import pulumi
import pulumi_azure as azure

example = azure.containerservice.get_registry(name="testacr",
    resource_group_name="test")
pulumi.export("loginServer", example.login_server)
Parameters
  • name (str) – The name of the Container Registry.

  • resource_group_name (str) – The Name of the Resource Group where this Container Registry exists.