Container Groups - Create Or Update

Create or update container groups with specified configurations.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}?api-version=2023-05-01

URI Parameters

Name In Required Type Description
containerGroupName
path True

string

The name of the container group.

resourceGroupName
path True

string

The name of the resource group.

subscriptionId
path True

string

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

api-version
query True

string

Client API version

Request Body

Name Required Type Description
properties.containers True

Container[]

The containers within the container group.

properties.osType True

OperatingSystemTypes

The operating system type required by the containers in the container group.

identity

ContainerGroupIdentity

The identity of the container group, if configured.

location

string

The resource location.

properties.confidentialComputeProperties

ConfidentialComputeProperties

The properties for confidential container group

properties.diagnostics

ContainerGroupDiagnostics

The diagnostic information for a container group.

properties.dnsConfig

DnsConfiguration

The DNS config information for a container group.

properties.encryptionProperties

EncryptionProperties

The encryption properties for a container group.

properties.extensions

DeploymentExtensionSpec[]

extensions used by virtual kubelet

properties.imageRegistryCredentials

ImageRegistryCredential[]

The image registry credentials by which the container group is created from.

properties.initContainers

InitContainerDefinition[]

The init containers for a container group.

properties.ipAddress

IpAddress

The IP address type of the container group.

properties.priority

ContainerGroupPriority

The priority of the container group.

properties.restartPolicy

ContainerGroupRestartPolicy

Restart policy for all containers within the container group.

  • Always Always restart
  • OnFailure Restart on failure
  • Never Never restart
properties.sku

ContainerGroupSku

The SKU for a container group.

properties.subnetIds

ContainerGroupSubnetId[]

The subnet resource IDs for a container group.

properties.volumes

Volume[]

The list of volumes that can be mounted by containers in this container group.

tags

object

The resource tags.

zones

string[]

The zones for the container group.

Responses

Name Type Description
200 OK

ContainerGroup

OK

201 Created

ContainerGroup

Created - the container group is created.

Other Status Codes

CloudError

Error response describing why the operation failed.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation Impersonate your user account

Examples

ConfidentialContainerGroup
ContainerGroupCreateWithExtensions
ContainerGroupsCreateOrUpdate
ContainerGroupsCreateWithPriority
ContainerGroupWithEncryptionProperties

ConfidentialContainerGroup

Sample request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2023-05-01

{
  "location": "westeurope",
  "properties": {
    "containers": [
      {
        "name": "accdemo",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "confiimage",
          "ports": [
            {
              "port": 8000
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5
            }
          },
          "securityContext": {
            "privileged": false,
            "capabilities": {
              "add": [
                "CAP_NET_ADMIN"
              ]
            }
          }
        }
      }
    ],
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 8000
        }
      ],
      "type": "Public"
    },
    "osType": "Linux",
    "sku": "Confidential",
    "confidentialComputeProperties": {
      "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19"
    }
  }
}

Sample response

{
  "properties": {
    "sku": "Confidential",
    "provisioningState": "Succeeded",
    "containers": [
      {
        "name": "accdemo",
        "properties": {
          "image": "confiimage",
          "command": [],
          "ports": [
            {
              "port": 8000
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          },
          "securityContext": {
            "privileged": false,
            "capabilities": {
              "add": [
                "CAP_NET_ADMIN"
              ]
            }
          }
        }
      }
    ],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 8000
        }
      ],
      "type": "Public"
    },
    "initContainers": [],
    "imageRegistryCredentials": [],
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Running"
    },
    "confidentialComputeProperties": {
      "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19"
    }
  },
  "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "westeurope"
}
{
  "properties": {
    "sku": "Confidential",
    "provisioningState": "Succeeded",
    "containers": [
      {
        "name": "accdemo",
        "properties": {
          "image": "confiimage",
          "command": [],
          "ports": [
            {
              "port": 8000
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          },
          "securityContext": {
            "privileged": false,
            "capabilities": {
              "add": [
                "CAP_NET_ADMIN"
              ]
            }
          }
        }
      }
    ],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 8000
        }
      ],
      "type": "Public"
    },
    "initContainers": [],
    "imageRegistryCredentials": [],
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Running"
    },
    "confidentialComputeProperties": {
      "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19"
    }
  },
  "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "westeurope"
}

ContainerGroupCreateWithExtensions

Sample request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2023-05-01

{
  "location": "eastus2",
  "properties": {
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "nginx",
          "ports": [
            {
              "port": 80
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5
            }
          }
        }
      }
    ],
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 80
        }
      ],
      "type": "Private"
    },
    "osType": "Linux",
    "subnetIds": [
      {
        "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet"
      }
    ],
    "extensions": [
      {
        "name": "kube-proxy",
        "properties": {
          "extensionType": "kube-proxy",
          "version": "1.0",
          "settings": {
            "clusterCidr": "10.240.0.0/16",
            "kubeVersion": "v1.9.10"
          },
          "protectedSettings": {
            "kubeConfig": "<kubeconfig encoded string>"
          }
        }
      },
      {
        "name": "vk-realtime-metrics",
        "properties": {
          "extensionType": "realtime-metrics",
          "version": "1.0"
        }
      }
    ]
  }
}

Sample response

{
  "properties": {
    "sku": "Standard",
    "provisioningState": "Pending",
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "image": "nginx",
          "command": [],
          "ports": [
            {
              "port": 80
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "extensions": [
      {
        "name": "kube-proxy",
        "properties": {
          "extensionType": "kube-proxy",
          "version": "1.0",
          "settings": {
            "clusterCidr": "10.240.0.0/16",
            "kubeVersion": "v1.9.10"
          }
        }
      },
      {
        "name": "vk-realtime-metrics",
        "properties": {
          "extensionType": "realtime-metrics",
          "version": "1.0"
        }
      }
    ],
    "imageRegistryCredentials": [],
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Pending"
    },
    "subnetIds": [
      {
        "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet"
      }
    ]
  },
  "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus2"
}
{
  "properties": {
    "sku": "Standard",
    "provisioningState": "Pending",
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "image": "nginx",
          "command": [],
          "ports": [
            {
              "port": 80
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "extensions": [
      {
        "name": "kube-proxy",
        "properties": {
          "extensionType": "kube-proxy",
          "version": "1.0",
          "settings": {
            "clusterCidr": "10.240.0.0/16",
            "kubeVersion": "v1.9.10"
          }
        }
      },
      {
        "name": "vk-realtime-metrics",
        "properties": {
          "extensionType": "realtime-metrics",
          "version": "1.0"
        }
      }
    ],
    "imageRegistryCredentials": [],
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Running"
    },
    "subnetIds": [
      {
        "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet"
      }
    ]
  },
  "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus2"
}

ContainerGroupsCreateOrUpdate

Sample request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2023-05-01

{
  "location": "west us",
  "identity": {
    "type": "SystemAssigned, UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {}
    }
  },
  "properties": {
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "nginx",
          "ports": [
            {
              "port": 80
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5,
              "gpu": {
                "count": 1,
                "sku": "K80"
              }
            }
          },
          "volumeMounts": [
            {
              "name": "volume1",
              "mountPath": "/mnt/volume1",
              "readOnly": false
            },
            {
              "name": "volume2",
              "mountPath": "/mnt/volume2",
              "readOnly": false
            },
            {
              "name": "volume3",
              "mountPath": "/mnt/volume3",
              "readOnly": true
            }
          ]
        }
      }
    ],
    "diagnostics": {
      "logAnalytics": {
        "workspaceId": "workspaceid",
        "workspaceKey": "workspaceKey",
        "logType": "ContainerInsights",
        "metadata": {
          "test-key": "test-metadata-value"
        },
        "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/microsoft.operationalinsights/workspaces/workspace"
      }
    },
    "subnetIds": [
      {
        "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]"
      }
    ],
    "dnsConfig": {
      "nameServers": [
        "1.1.1.1"
      ],
      "searchDomains": "cluster.local svc.cluster.local",
      "options": "ndots:2"
    },
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 80
        }
      ],
      "type": "Public",
      "dnsNameLabel": "dnsnamelabel1",
      "autoGeneratedDomainNameLabelScope": "Unsecure"
    },
    "osType": "Linux",
    "volumes": [
      {
        "name": "volume1",
        "azureFile": {
          "shareName": "shareName",
          "storageAccountName": "accountName",
          "storageAccountKey": "accountKey"
        }
      },
      {
        "name": "volume2",
        "emptyDir": {}
      },
      {
        "name": "volume3",
        "secret": {
          "secretKey1": "SecretValue1InBase64",
          "secretKey2": "SecretValue2InBase64"
        }
      }
    ]
  }
}

Sample response

{
  "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "location": "WestUs",
  "zones": [
    "1"
  ],
  "name": "demo1",
  "properties": {
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "nginx",
          "ports": [
            {
              "port": 80
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5,
              "gpu": {
                "count": 1,
                "sku": "K80"
              }
            }
          },
          "volumeMounts": [
            {
              "name": "volume1",
              "mountPath": "/mnt/volume1",
              "readOnly": false
            },
            {
              "name": "volume2",
              "mountPath": "/mnt/volume2",
              "readOnly": false
            },
            {
              "name": "volume3",
              "mountPath": "/mnt/volume3",
              "readOnly": true
            }
          ]
        }
      }
    ],
    "diagnostics": {
      "logAnalytics": {
        "workspaceId": "workspaceid"
      }
    },
    "dnsConfig": {
      "nameServers": [
        "1.1.1.1"
      ],
      "searchDomains": "cluster.local svc.cluster.local",
      "options": "ndots:2"
    },
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ip": "10.0.0.1",
      "ports": [
        {
          "port": 80,
          "protocol": "TCP"
        }
      ],
      "type": "Public",
      "dnsNameLabel": "dnsnamelabel1",
      "autoGeneratedDomainNameLabelScope": "Unsecure",
      "fqdn": "dnsnamelabel1.azure-container.io"
    },
    "osType": "Linux",
    "provisioningState": "Succeeded",
    "volumes": [
      {
        "name": "volume1",
        "azureFile": {
          "shareName": "shareName",
          "storageAccountName": "accountName"
        }
      },
      {
        "name": "volume2",
        "emptyDir": {}
      },
      {
        "name": "volume3",
        "secret": {}
      }
    ]
  },
  "type": "Microsoft.ContainerInstance/containerGroups"
}
{
  "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "location": "WestUs",
  "zones": [
    "1"
  ],
  "name": "demo1",
  "properties": {
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "nginx",
          "ports": [
            {
              "port": 80
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5,
              "gpu": {
                "count": 1,
                "sku": "K80"
              }
            }
          },
          "volumeMounts": [
            {
              "name": "volume1",
              "mountPath": "/mnt/volume1",
              "readOnly": false
            },
            {
              "name": "volume2",
              "mountPath": "/mnt/volume2",
              "readOnly": false
            },
            {
              "name": "volume3",
              "mountPath": "/mnt/volume3",
              "readOnly": true
            }
          ]
        }
      }
    ],
    "dnsConfig": {
      "nameServers": [
        "1.1.1.1"
      ]
    },
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ip": "10.0.0.1",
      "ports": [
        {
          "port": 80,
          "protocol": "TCP"
        }
      ],
      "type": "Public",
      "dnsNameLabel": "dnsnamelabel1",
      "autoGeneratedDomainNameLabelScope": "Unsecure",
      "fqdn": "dnsnamelabel1.azure-container.io"
    },
    "osType": "Linux",
    "provisioningState": "Succeeded",
    "volumes": [
      {
        "name": "volume1",
        "azureFile": {
          "shareName": "shareName",
          "storageAccountName": "accountName"
        }
      },
      {
        "name": "volume2",
        "emptyDir": {}
      },
      {
        "name": "volume3",
        "secret": {}
      }
    ]
  },
  "type": "Microsoft.ContainerInstance/containerGroups"
}

ContainerGroupsCreateWithPriority

Sample request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2023-05-01

{
  "properties": {
    "sku": "Standard",
    "containers": [
      {
        "name": "test-container-001",
        "properties": {
          "image": "alpine:latest",
          "command": [
            "/bin/sh",
            "-c",
            "sleep 10"
          ],
          "resources": {
            "requests": {
              "memoryInGB": 1,
              "cpu": 1
            }
          }
        }
      }
    ],
    "restartPolicy": "Never",
    "osType": "Linux",
    "priority": "Spot"
  },
  "location": "eastus"
}

Sample response

{
  "properties": {
    "sku": "Standard",
    "provisioningState": "Succeeded",
    "containers": [
      {
        "name": "test-container-001",
        "properties": {
          "image": "alpine:latest",
          "command": [
            "/bin/sh",
            "-c",
            "sleep 10"
          ],
          "ports": [],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "restartPolicy": "Never",
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Succeeded"
    },
    "priority": "Spot"
  },
  "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus"
}
{
  "properties": {
    "sku": "Standard",
    "provisioningState": "Created",
    "containers": [
      {
        "name": "test-container-001",
        "properties": {
          "image": "alpine:latest",
          "command": [
            "/bin/sh",
            "-c",
            "sleep 10"
          ],
          "ports": [],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "restartPolicy": "Never",
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Created"
    },
    "priority": "Spot"
  },
  "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus"
}

ContainerGroupWithEncryptionProperties

Sample request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1?api-version=2023-05-01

{
  "location": "eastus2",
  "identity": {
    "type": "UserAssigned",
    "userAssignedIdentities": {
      "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": {}
    }
  },
  "properties": {
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "command": [],
          "environmentVariables": [],
          "image": "nginx",
          "ports": [
            {
              "port": 80
            }
          ],
          "resources": {
            "requests": {
              "cpu": 1,
              "memoryInGB": 1.5
            }
          }
        }
      }
    ],
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 80
        }
      ],
      "type": "Public"
    },
    "osType": "Linux",
    "encryptionProperties": {
      "vaultBaseUrl": "https://testkeyvault.vault.azure.net",
      "keyName": "test-key",
      "keyVersion": "<key version>",
      "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity"
    }
  }
}

Sample response

{
  "properties": {
    "sku": "Standard",
    "encryptionProperties": {
      "vaultBaseUrl": "https://testkeyvault.vault.azure.net/",
      "keyName": "test-key",
      "keyVersion": "<key version>",
      "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity"
    },
    "provisioningState": "Pending",
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "image": "nginx",
          "command": [],
          "ports": [
            {
              "port": 80
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 80
        }
      ],
      "type": "Public"
    },
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Pending"
    }
  },
  "identity": {
    "userAssignedIdentities": {
      "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": {
        "principalId": "<principal id>",
        "clientId": "<client id>"
      }
    },
    "tenantId": "<tenant id>",
    "type": "UserAssigned"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus2"
}
{
  "properties": {
    "sku": "Standard",
    "encryptionProperties": {
      "vaultBaseUrl": "https://testkeyvault.vault.azure.net/",
      "keyName": "test-key",
      "keyVersion": "key version",
      "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity"
    },
    "provisioningState": "Running",
    "containers": [
      {
        "name": "demo1",
        "properties": {
          "image": "nginx",
          "command": [],
          "ports": [
            {
              "port": 80
            }
          ],
          "environmentVariables": [],
          "resources": {
            "requests": {
              "memoryInGB": 1.5,
              "cpu": 1
            }
          }
        }
      }
    ],
    "initContainers": [],
    "imageRegistryCredentials": [],
    "ipAddress": {
      "ports": [
        {
          "protocol": "TCP",
          "port": 80
        }
      ],
      "type": "Public"
    },
    "osType": "Linux",
    "instanceView": {
      "events": [],
      "state": "Pending"
    }
  },
  "identity": {
    "userAssignedIdentities": {
      "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": {
        "principalId": "<principal id>",
        "clientId": "<client id>"
      }
    },
    "tenantId": "<tenant id>",
    "type": "UserAssigned"
  },
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1",
  "name": "demo1",
  "type": "Microsoft.ContainerInstance/containerGroups",
  "location": "eastus2"
}

Definitions

Name Description
AzureFileVolume

The properties of the Azure File volume. Azure File shares are mounted as volumes.

CloudError

An error response from the Container Instance service.

CloudErrorBody

An error response from the Container Instance service.

ConfidentialComputeProperties

The properties for confidential container group

Container

A container instance.

ContainerExec

The container execution command, for liveness or readiness probe

ContainerGroup

A container group.

ContainerGroupDiagnostics

Container group diagnostic information.

ContainerGroupIdentity

Identity for the container group.

ContainerGroupIpAddressType

Specifies if the IP is exposed to the public internet or private VNET.

ContainerGroupNetworkProtocol

The protocol associated with the port.

ContainerGroupPriority

The priority of the container group.

ContainerGroupProperties.properties.InstanceView

The instance view of the container group. Only valid in response.

ContainerGroupRestartPolicy

Restart policy for all containers within the container group.

  • Always Always restart
  • OnFailure Restart on failure
  • Never Never restart
ContainerGroupSku

The container group SKU.

ContainerGroupSubnetId

Container group subnet information.

ContainerHttpGet

The container Http Get settings, for liveness or readiness probe

ContainerNetworkProtocol

The protocol associated with the port.

ContainerPort

The port exposed on the container instance.

ContainerProbe

The container probe, for liveness or readiness

ContainerState

The container instance state.

DeploymentExtensionSpec

Extension sidecars to be added to the deployment.

DnsConfiguration

DNS configuration for the container group.

dnsNameLabelReusePolicy

The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant.

EmptyDirVolume

The empty directory volume.

EncryptionProperties

The container group encryption properties.

EnvironmentVariable

The environment variable to set within the container instance.

Event

A container group or container instance event.

GitRepoVolume

Represents a volume that is populated with the contents of a git repository

GpuResource

The GPU resource.

GpuSku

The SKU of the GPU resource.

HttpHeader

The HTTP header.

ImageRegistryCredential

Image registry credential.

InitContainerDefinition

The init container definition.

InitContainerPropertiesDefinition.InstanceView

The instance view of the init container. Only valid in response.

InstanceView

The instance view of the container instance. Only valid in response.

IpAddress

IP address for the container group.

LogAnalytics

Container group log analytics information.

LogAnalyticsLogType

The log type to be used.

OperatingSystemTypes

The operating system type required by the containers in the container group.

Port

The port exposed on the container group.

ResourceIdentityType

The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group.

ResourceLimits

The resource limits.

ResourceRequests

The resource requests.

ResourceRequirements

The resource requirements.

Scheme

The scheme.

SecurityContextCapabilitiesDefinition

The capabilities to add or drop from a container.

SecurityContextDefinition

The security context for the container.

UserAssignedIdentities

The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Volume

The properties of the volume.

VolumeMount

The properties of the volume mount.

AzureFileVolume

The properties of the Azure File volume. Azure File shares are mounted as volumes.

Name Type Description
readOnly

boolean

The flag indicating whether the Azure File shared mounted as a volume is read-only.

shareName

string

The name of the Azure File share to be mounted as a volume.

storageAccountKey

string

The storage account access key used to access the Azure File share.

storageAccountName

string

The name of the storage account that contains the Azure File share.

CloudError

An error response from the Container Instance service.

Name Type Description
error

CloudErrorBody

An error response from the Container Instance service.

CloudErrorBody

An error response from the Container Instance service.

Name Type Description
code

string

An identifier for the error. Codes are invariant and are intended to be consumed programmatically.

details

CloudErrorBody[]

A list of additional details about the error.

message

string

A message describing the error, intended to be suitable for display in a user interface.

target

string

The target of the particular error. For example, the name of the property in error.

ConfidentialComputeProperties

The properties for confidential container group

Name Type Description
ccePolicy

string

The base64 encoded confidential compute enforcement policy

Container

A container instance.

Name Type Description
name

string

The user-provided name of the container instance.

properties.command

string[]

The commands to execute within the container instance in exec form.

properties.environmentVariables

EnvironmentVariable[]

The environment variables to set in the container instance.

properties.image

string

The name of the image used to create the container instance.

properties.instanceView

InstanceView

The instance view of the container instance. Only valid in response.

properties.livenessProbe

ContainerProbe

The liveness probe.

properties.ports

ContainerPort[]

The exposed ports on the container instance.

properties.readinessProbe

ContainerProbe

The readiness probe.

properties.resources

ResourceRequirements

The resource requirements of the container instance.

properties.securityContext

SecurityContextDefinition

The container security properties.

properties.volumeMounts

VolumeMount[]

The volume mounts available to the container instance.

ContainerExec

The container execution command, for liveness or readiness probe

Name Type Description
command

string[]

The commands to execute within the container.

ContainerGroup

A container group.

Name Type Description
id

string

The resource id.

identity

ContainerGroupIdentity

The identity of the container group, if configured.

location

string

The resource location.

name

string

The resource name.

properties.confidentialComputeProperties

ConfidentialComputeProperties

The properties for confidential container group

properties.containers

Container[]

The containers within the container group.

properties.diagnostics

ContainerGroupDiagnostics

The diagnostic information for a container group.

properties.dnsConfig

DnsConfiguration

The DNS config information for a container group.

properties.encryptionProperties

EncryptionProperties

The encryption properties for a container group.

properties.extensions

DeploymentExtensionSpec[]

extensions used by virtual kubelet

properties.imageRegistryCredentials

ImageRegistryCredential[]

The image registry credentials by which the container group is created from.

properties.initContainers

InitContainerDefinition[]

The init containers for a container group.

properties.instanceView

ContainerGroupProperties.properties.InstanceView

The instance view of the container group. Only valid in response.

properties.ipAddress

IpAddress

The IP address type of the container group.

properties.osType

OperatingSystemTypes

The operating system type required by the containers in the container group.

properties.priority

ContainerGroupPriority

The priority of the container group.

properties.provisioningState

string

The provisioning state of the container group. This only appears in the response.

properties.restartPolicy

ContainerGroupRestartPolicy

Restart policy for all containers within the container group.

  • Always Always restart
  • OnFailure Restart on failure
  • Never Never restart
properties.sku

ContainerGroupSku

The SKU for a container group.

properties.subnetIds

ContainerGroupSubnetId[]

The subnet resource IDs for a container group.

properties.volumes

Volume[]

The list of volumes that can be mounted by containers in this container group.

tags

object

The resource tags.

type

string

The resource type.

zones

string[]

The zones for the container group.

ContainerGroupDiagnostics

Container group diagnostic information.

Name Type Description
logAnalytics

LogAnalytics

Container group log analytics information.

ContainerGroupIdentity

Identity for the container group.

Name Type Description
principalId

string

The principal id of the container group identity. This property will only be provided for a system assigned identity.

tenantId

string

The tenant id associated with the container group. This property will only be provided for a system assigned identity.

type

ResourceIdentityType

The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group.

userAssignedIdentities

<string,  UserAssignedIdentities>

The list of user identities associated with the container group.

ContainerGroupIpAddressType

Specifies if the IP is exposed to the public internet or private VNET.

Name Type Description
Private

string

Public

string

ContainerGroupNetworkProtocol

The protocol associated with the port.

Name Type Description
TCP

string

UDP

string

ContainerGroupPriority

The priority of the container group.

Name Type Description
Regular

string

Spot

string

ContainerGroupProperties.properties.InstanceView

The instance view of the container group. Only valid in response.

Name Type Description
events

Event[]

The events of this container group.

state

string

The state of the container group. Only valid in response.

ContainerGroupRestartPolicy

Restart policy for all containers within the container group.

  • Always Always restart
  • OnFailure Restart on failure
  • Never Never restart
Name Type Description
Always

string

Never

string

OnFailure

string

ContainerGroupSku

The container group SKU.

Name Type Description
Confidential

string

Dedicated

string

Standard

string

ContainerGroupSubnetId

Container group subnet information.

Name Type Description
id

string

Resource ID of virtual network and subnet.

name

string

Friendly name for the subnet.

ContainerHttpGet

The container Http Get settings, for liveness or readiness probe

Name Type Description
httpHeaders

HttpHeader[]

The HTTP headers.

path

string

The path to probe.

port

integer

The port number to probe.

scheme

Scheme

The scheme.

ContainerNetworkProtocol

The protocol associated with the port.

Name Type Description
TCP

string

UDP

string

ContainerPort

The port exposed on the container instance.

Name Type Description
port

integer

The port number exposed within the container group.

protocol

ContainerNetworkProtocol

The protocol associated with the port.

ContainerProbe

The container probe, for liveness or readiness

Name Type Description
exec

ContainerExec

The execution command to probe

failureThreshold

integer

The failure threshold.

httpGet

ContainerHttpGet

The Http Get settings to probe

initialDelaySeconds

integer

The initial delay seconds.

periodSeconds

integer

The period seconds.

successThreshold

integer

The success threshold.

timeoutSeconds

integer

The timeout seconds.

ContainerState

The container instance state.

Name Type Description
detailStatus

string

The human-readable status of the container instance state.

exitCode

integer

The container instance exit codes correspond to those from the docker run command.

finishTime

string

The date-time when the container instance state finished.

startTime

string

The date-time when the container instance state started.

state

string

The state of the container instance.

DeploymentExtensionSpec

Extension sidecars to be added to the deployment.

Name Type Description
name

string

Name of the extension.

properties.extensionType

string

Type of extension to be added.

properties.protectedSettings

object

Protected settings for the extension.

properties.settings

object

Settings for the extension.

properties.version

string

Version of the extension being used.

DnsConfiguration

DNS configuration for the container group.

Name Type Description
nameServers

string[]

The DNS servers for the container group.

options

string

The DNS options for the container group.

searchDomains

string

The DNS search domains for hostname lookup in the container group.

dnsNameLabelReusePolicy

The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant.

Name Type Description
Noreuse

string

ResourceGroupReuse

string

SubscriptionReuse

string

TenantReuse

string

Unsecure

string

EmptyDirVolume

The empty directory volume.

EncryptionProperties

The container group encryption properties.

Name Type Description
identity

string

The keyvault managed identity.

keyName

string

The encryption key name.

keyVersion

string

The encryption key version.

vaultBaseUrl

string

The keyvault base url.

EnvironmentVariable

The environment variable to set within the container instance.

Name Type Description
name

string

The name of the environment variable.

secureValue

string

The value of the secure environment variable.

value

string

The value of the environment variable.

Event

A container group or container instance event.

Name Type Description
count

integer

The count of the event.

firstTimestamp

string

The date-time of the earliest logged event.

lastTimestamp

string

The date-time of the latest logged event.

message

string

The event message.

name

string

The event name.

type

string

The event type.

GitRepoVolume

Represents a volume that is populated with the contents of a git repository

Name Type Description
directory

string

Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.

repository

string

Repository URL

revision

string

Commit hash for the specified revision.

GpuResource

The GPU resource.

Name Type Description
count

integer

The count of the GPU resource.

sku

GpuSku

The SKU of the GPU resource.

GpuSku

The SKU of the GPU resource.

Name Type Description
K80

string

P100

string

V100

string

HttpHeader

The HTTP header.

Name Type Description
name

string

The header name.

value

string

The header value.

ImageRegistryCredential

Image registry credential.

Name Type Description
identity

string

The identity for the private registry.

identityUrl

string

The identity URL for the private registry.

password

string

The password for the private registry.

server

string

The Docker image registry server without a protocol such as "http" and "https".

username

string

The username for the private registry.

InitContainerDefinition

The init container definition.

Name Type Description
name

string

The name for the init container.

properties.command

string[]

The command to execute within the init container in exec form.

properties.environmentVariables

EnvironmentVariable[]

The environment variables to set in the init container.

properties.image

string

The image of the init container.

properties.instanceView

InitContainerPropertiesDefinition.InstanceView

The instance view of the init container. Only valid in response.

properties.securityContext

SecurityContextDefinition

The container security properties.

properties.volumeMounts

VolumeMount[]

The volume mounts available to the init container.

InitContainerPropertiesDefinition.InstanceView

The instance view of the init container. Only valid in response.

Name Type Description
currentState

ContainerState

The current state of the init container.

events

Event[]

The events of the init container.

previousState

ContainerState

The previous state of the init container.

restartCount

integer

The number of times that the init container has been restarted.

InstanceView

The instance view of the container instance. Only valid in response.

Name Type Description
currentState

ContainerState

Current container instance state.

events

Event[]

The events of the container instance.

previousState

ContainerState

Previous container instance state.

restartCount

integer

The number of times that the container instance has been restarted.

IpAddress

IP address for the container group.

Name Type Default value Description
autoGeneratedDomainNameLabelScope

dnsNameLabelReusePolicy

Unsecure

The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant.

dnsNameLabel

string

The Dns name label for the IP.

fqdn

string

The FQDN for the IP.

ip

string

The IP exposed to the public internet.

ports

Port[]

The list of ports exposed on the container group.

type

ContainerGroupIpAddressType

Specifies if the IP is exposed to the public internet or private VNET.

LogAnalytics

Container group log analytics information.

Name Type Description
logType

LogAnalyticsLogType

The log type to be used.

metadata

object

Metadata for log analytics.

workspaceId

string

The workspace id for log analytics

workspaceKey

string

The workspace key for log analytics

workspaceResourceId

string

The workspace resource id for log analytics

LogAnalyticsLogType

The log type to be used.

Name Type Description
ContainerInsights

string

ContainerInstanceLogs

string

OperatingSystemTypes

The operating system type required by the containers in the container group.

Name Type Description
Linux

string

Windows

string

Port

The port exposed on the container group.

Name Type Description
port

integer

The port number.

protocol

ContainerGroupNetworkProtocol

The protocol associated with the port.

ResourceIdentityType

The type of identity used for the container group. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the container group.

Name Type Description
None

string

SystemAssigned

string

SystemAssigned, UserAssigned

string

UserAssigned

string

ResourceLimits

The resource limits.

Name Type Description
cpu

number

The CPU limit of this container instance.

gpu

GpuResource

The GPU limit of this container instance.

memoryInGB

number

The memory limit in GB of this container instance.

ResourceRequests

The resource requests.

Name Type Description
cpu

number

The CPU request of this container instance.

gpu

GpuResource

The GPU request of this container instance.

memoryInGB

number

The memory request in GB of this container instance.

ResourceRequirements

The resource requirements.

Name Type Description
limits

ResourceLimits

The resource limits of this container instance.

requests

ResourceRequests

The resource requests of this container instance.

Scheme

The scheme.

Name Type Description
http

string

https

string

SecurityContextCapabilitiesDefinition

The capabilities to add or drop from a container.

Name Type Description
add

string[]

The capabilities to add to the container.

drop

string[]

The capabilities to drop from the container.

SecurityContextDefinition

The security context for the container.

Name Type Description
allowPrivilegeEscalation

boolean

A boolean value indicating whether the init process can elevate its privileges

capabilities

SecurityContextCapabilitiesDefinition

The capabilities to add or drop from a container.

privileged

boolean

The flag to determine if the container permissions is elevated to Privileged.

runAsGroup

integer

Sets the User GID for the container.

runAsUser

integer

Sets the User UID for the container.

seccompProfile

string

a base64 encoded string containing the contents of the JSON in the seccomp profile

UserAssignedIdentities

The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.

Name Type Description
clientId

string

The client id of user assigned identity.

principalId

string

The principal id of user assigned identity.

Volume

The properties of the volume.

Name Type Description
azureFile

AzureFileVolume

The Azure File volume.

emptyDir

EmptyDirVolume

The empty directory volume.

gitRepo

GitRepoVolume

The git repo volume.

name

string

The name of the volume.

secret

object

The secret volume.

VolumeMount

The properties of the volume mount.

Name Type Description
mountPath

string

The path within the container where the volume should be mounted. Must not contain colon (:).

name

string

The name of the volume mount.

readOnly

boolean

The flag indicating whether the volume mount is read-only.