Microsoft.ContainerInstance containerGroups 2018-09-01
Article 05/10/2023
1 contributor
Feedback
In this article
Bicep resource definition
The containerGroups resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log .
To create a Microsoft.ContainerInstance/containerGroups resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.ContainerInstance/containerGroups@2018-09-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
properties: {
containers: [
{
name: 'string'
properties: {
command: [
'string'
]
environmentVariables: [
{
name: 'string'
secureValue: 'string'
value: 'string'
}
]
image: 'string'
livenessProbe: {
exec: {
command: [
'string'
]
}
failureThreshold: int
httpGet: {
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
timeoutSeconds: int
}
ports: [
{
port: int
protocol: 'string'
}
]
readinessProbe: {
exec: {
command: [
'string'
]
}
failureThreshold: int
httpGet: {
path: 'string'
port: int
scheme: 'string'
}
initialDelaySeconds: int
periodSeconds: int
successThreshold: int
timeoutSeconds: int
}
resources: {
limits: {
cpu: int
memoryInGB: json('decimal-as-string')
}
requests: {
cpu: int
memoryInGB: json('decimal-as-string')
}
}
volumeMounts: [
{
mountPath: 'string'
name: 'string'
readOnly: bool
}
]
}
}
]
diagnostics: {
logAnalytics: {
logType: 'string'
metadata: {}
workspaceId: 'string'
workspaceKey: 'string'
}
}
imageRegistryCredentials: [
{
password: 'string'
server: 'string'
username: 'string'
}
]
ipAddress: {
dnsNameLabel: 'string'
ip: 'string'
ports: [
{
port: int
protocol: 'string'
}
]
type: 'string'
}
networkProfile: {
id: 'string'
}
osType: 'string'
restartPolicy: 'string'
volumes: [
{
azureFile: {
readOnly: bool
shareName: 'string'
storageAccountKey: 'string'
storageAccountName: 'string'
}
emptyDir: any()
gitRepo: {
directory: 'string'
repository: 'string'
revision: 'string'
}
name: 'string'
secret: {}
}
]
}
}
Property values
containerGroups
Name
Description
Value
name
The resource name
string (required) Character limit: 1-63 Valid characters: Lowercase letters, numbers, and hyphens. Can't start or end with hyphen. Consecutive hyphens aren't allowed.
location
The resource location.
string
tags
The resource tags.
Dictionary of tag names and values. See Tags in templates
properties
ContainerGroupProperties (required)
ContainerGroupProperties
Name
Description
Value
containers
The containers within the container group.
Container [] (required)
diagnostics
The diagnostic information for a container group.
ContainerGroupDiagnostics
imageRegistryCredentials
The image registry credentials by which the container group is created from.
ImageRegistryCredential []
ipAddress
The IP address type of the container group.
IpAddress
networkProfile
The network profile information for a container group.
ContainerGroupNetworkProfile
osType
The operating system type required by the containers in the container group.
'Linux' 'Windows' (required)
restartPolicy
Restart policy for all containers within the container group. - Always
Always restart - OnFailure
Restart on failure - Never
Never restart
'Always' 'Never' 'OnFailure'
volumes
The list of volumes that can be mounted by containers in this container group.
Volume []
Container
Name
Description
Value
name
The user-provided name of the container instance.
string (required)
properties
The properties of the container instance.
ContainerProperties (required)
ContainerProperties
Name
Description
Value
command
The commands to execute within the container instance in exec form.
string[]
environmentVariables
The environment variables to set in the container instance.
EnvironmentVariable []
image
The name of the image used to create the container instance.
string (required)
livenessProbe
The liveness probe.
ContainerProbe
ports
The exposed ports on the container instance.
ContainerPort []
readinessProbe
The readiness probe.
ContainerProbe
resources
The resource requirements of the container instance.
ResourceRequirements (required)
volumeMounts
The volume mounts available to the container instance.
VolumeMount []
EnvironmentVariable
Name
Description
Value
name
The name of the environment variable.
string (required)
secureValue
The value of the secure environment variable.
string
value
The value of the environment variable.
string
ContainerProbe
Name
Description
Value
exec
The execution command to probe
ContainerExec
failureThreshold
The failure threshold.
int
httpGet
The Http Get settings to probe
ContainerHttpGet
initialDelaySeconds
The initial delay seconds.
int
periodSeconds
The period seconds.
int
successThreshold
The success threshold.
int
timeoutSeconds
The timeout seconds.
int
ContainerExec
Name
Description
Value
command
The commands to execute within the container.
string[]
ContainerHttpGet
Name
Description
Value
path
The path to probe.
string
port
The port number to probe.
int (required)
scheme
The scheme.
'http' 'https'
ContainerPort
Name
Description
Value
port
The port number exposed within the container group.
int (required)
protocol
The protocol associated with the port.
'TCP' 'UDP'
ResourceRequirements
Name
Description
Value
limits
The resource limits of this container instance.
ResourceLimits
requests
The resource requests of this container instance.
ResourceRequests (required)
ResourceLimits
Name
Description
Value
cpu
The CPU limit of this container instance.
int
memoryInGB
The memory limit in GB of this container instance. To specify a decimal value, use the json() function.
int or json decimal
ResourceRequests
Name
Description
Value
cpu
The CPU request of this container instance.
int (required)
memoryInGB
The memory request in GB of this container instance. To specify a decimal value, use the json() function.
int or json decimal (required)
VolumeMount
Name
Description
Value
mountPath
The path within the container where the volume should be mounted. Must not contain colon (:).
string (required)
name
The name of the volume mount.
string (required)
readOnly
The flag indicating whether the volume mount is read-only.
bool
ContainerGroupDiagnostics
Name
Description
Value
logAnalytics
Container group log analytics information.
LogAnalytics
LogAnalytics
Name
Description
Value
logType
The log type to be used.
'ContainerInsights' 'ContainerInstanceLogs'
metadata
Metadata for log analytics.
object
workspaceId
The workspace id for log analytics
string (required)
workspaceKey
The workspace key for log analytics
string (required)
ImageRegistryCredential
Name
Description
Value
password
The password for the private registry.
string
server
The Docker image registry server without a protocol such as "http" and "https".
string (required)
username
The username for the private registry.
string (required)
IpAddress
Name
Description
Value
dnsNameLabel
The Dns name label for the IP.
string
ip
The IP exposed to the public internet.
string
ports
The list of ports exposed on the container group.
Port [] (required)
type
Specifies if the IP is exposed to the public internet.
'Private' 'Public' (required)
Port
Name
Description
Value
port
The port number.
int (required)
protocol
The protocol associated with the port.
'TCP' 'UDP'
ContainerGroupNetworkProfile
Name
Description
Value
id
The identifier for a network profile.
string (required)
Volume
Name
Description
Value
azureFile
The Azure File volume.
AzureFileVolume
emptyDir
The empty directory volume.
For Bicep, you can use the any() function.
gitRepo
The git repo volume.
GitRepoVolume
name
The name of the volume.
string (required)
secret
The secret volume.
object
AzureFileVolume
Name
Description
Value
readOnly
The flag indicating whether the Azure File shared mounted as a volume is read-only.
bool
shareName
The name of the Azure File share to be mounted as a volume.
string (required)
storageAccountKey
The storage account access key used to access the Azure File share.
string
storageAccountName
The name of the storage account that contains the Azure File share.
string (required)
GitRepoVolume
Name
Description
Value
directory
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.
string
repository
Repository URL
string (required)
revision
Commit hash for the specified revision.
string
Quickstart templates
The following quickstart templates deploy this resource type.
ARM template resource definition
The containerGroups resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log .
To create a Microsoft.ContainerInstance/containerGroups resource, add the following JSON to your template.
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2018-09-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"properties": {
"containers": [
{
"name": "string",
"properties": {
"command": [ "string" ],
"environmentVariables": [
{
"name": "string",
"secureValue": "string",
"value": "string"
}
],
"image": "string",
"livenessProbe": {
"exec": {
"command": [ "string" ]
},
"failureThreshold": "int",
"httpGet": {
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"timeoutSeconds": "int"
},
"ports": [
{
"port": "int",
"protocol": "string"
}
],
"readinessProbe": {
"exec": {
"command": [ "string" ]
},
"failureThreshold": "int",
"httpGet": {
"path": "string",
"port": "int",
"scheme": "string"
},
"initialDelaySeconds": "int",
"periodSeconds": "int",
"successThreshold": "int",
"timeoutSeconds": "int"
},
"resources": {
"limits": {
"cpu": "int",
"memoryInGB": "[json('decimal-as-string')]"
},
"requests": {
"cpu": "int",
"memoryInGB": "[json('decimal-as-string')]"
}
},
"volumeMounts": [
{
"mountPath": "string",
"name": "string",
"readOnly": "bool"
}
]
}
}
],
"diagnostics": {
"logAnalytics": {
"logType": "string",
"metadata": {},
"workspaceId": "string",
"workspaceKey": "string"
}
},
"imageRegistryCredentials": [
{
"password": "string",
"server": "string",
"username": "string"
}
],
"ipAddress": {
"dnsNameLabel": "string",
"ip": "string",
"ports": [
{
"port": "int",
"protocol": "string"
}
],
"type": "string"
},
"networkProfile": {
"id": "string"
},
"osType": "string",
"restartPolicy": "string",
"volumes": [
{
"azureFile": {
"readOnly": "bool",
"shareName": "string",
"storageAccountKey": "string",
"storageAccountName": "string"
},
"emptyDir": {},
"gitRepo": {
"directory": "string",
"repository": "string",
"revision": "string"
},
"name": "string",
"secret": {}
}
]
}
}
Property values
containerGroups
Name
Description
Value
type
The resource type
'Microsoft.ContainerInstance/containerGroups'
apiVersion
The resource api version
'2018-09-01'
name
The resource name
string (required) Character limit: 1-63 Valid characters: Lowercase letters, numbers, and hyphens. Can't start or end with hyphen. Consecutive hyphens aren't allowed.
location
The resource location.
string
tags
The resource tags.
Dictionary of tag names and values. See Tags in templates
properties
ContainerGroupProperties (required)
ContainerGroupProperties
Name
Description
Value
containers
The containers within the container group.
Container [] (required)
diagnostics
The diagnostic information for a container group.
ContainerGroupDiagnostics
imageRegistryCredentials
The image registry credentials by which the container group is created from.
ImageRegistryCredential []
ipAddress
The IP address type of the container group.
IpAddress
networkProfile
The network profile information for a container group.
ContainerGroupNetworkProfile
osType
The operating system type required by the containers in the container group.
'Linux' 'Windows' (required)
restartPolicy
Restart policy for all containers within the container group. - Always
Always restart - OnFailure
Restart on failure - Never
Never restart
'Always' 'Never' 'OnFailure'
volumes
The list of volumes that can be mounted by containers in this container group.
Volume []
Container
Name
Description
Value
name
The user-provided name of the container instance.
string (required)
properties
The properties of the container instance.
ContainerProperties (required)
ContainerProperties
Name
Description
Value
command
The commands to execute within the container instance in exec form.
string[]
environmentVariables
The environment variables to set in the container instance.
EnvironmentVariable []
image
The name of the image used to create the container instance.
string (required)
livenessProbe
The liveness probe.
ContainerProbe
ports
The exposed ports on the container instance.
ContainerPort []
readinessProbe
The readiness probe.
ContainerProbe
resources
The resource requirements of the container instance.
ResourceRequirements (required)
volumeMounts
The volume mounts available to the container instance.
VolumeMount []
EnvironmentVariable
Name
Description
Value
name
The name of the environment variable.
string (required)
secureValue
The value of the secure environment variable.
string
value
The value of the environment variable.
string
ContainerProbe
Name
Description
Value
exec
The execution command to probe
ContainerExec
failureThreshold
The failure threshold.
int
httpGet
The Http Get settings to probe
ContainerHttpGet
initialDelaySeconds
The initial delay seconds.
int
periodSeconds
The period seconds.
int
successThreshold
The success threshold.
int
timeoutSeconds
The timeout seconds.
int
ContainerExec
Name
Description
Value
command
The commands to execute within the container.
string[]
ContainerHttpGet
Name
Description
Value
path
The path to probe.
string
port
The port number to probe.
int (required)
scheme
The scheme.
'http' 'https'
ContainerPort
Name
Description
Value
port
The port number exposed within the container group.
int (required)
protocol
The protocol associated with the port.
'TCP' 'UDP'
ResourceRequirements
Name
Description
Value
limits
The resource limits of this container instance.
ResourceLimits
requests
The resource requests of this container instance.
ResourceRequests (required)
ResourceLimits
Name
Description
Value
cpu
The CPU limit of this container instance.
int
memoryInGB
The memory limit in GB of this container instance. To specify a decimal value, use the json() function.
int or json decimal
ResourceRequests
Name
Description
Value
cpu
The CPU request of this container instance.
int (required)
memoryInGB
The memory request in GB of this container instance. To specify a decimal value, use the json() function.
int or json decimal (required)
VolumeMount
Name
Description
Value
mountPath
The path within the container where the volume should be mounted. Must not contain colon (:).
string (required)
name
The name of the volume mount.
string (required)
readOnly
The flag indicating whether the volume mount is read-only.
bool
ContainerGroupDiagnostics
Name
Description
Value
logAnalytics
Container group log analytics information.
LogAnalytics
LogAnalytics
Name
Description
Value
logType
The log type to be used.
'ContainerInsights' 'ContainerInstanceLogs'
metadata
Metadata for log analytics.
object
workspaceId
The workspace id for log analytics
string (required)
workspaceKey
The workspace key for log analytics
string (required)
ImageRegistryCredential
Name
Description
Value
password
The password for the private registry.
string
server
The Docker image registry server without a protocol such as "http" and "https".
string (required)
username
The username for the private registry.
string (required)
IpAddress
Name
Description
Value
dnsNameLabel
The Dns name label for the IP.
string
ip
The IP exposed to the public internet.
string
ports
The list of ports exposed on the container group.
Port [] (required)
type
Specifies if the IP is exposed to the public internet.
'Private' 'Public' (required)
Port
Name
Description
Value
port
The port number.
int (required)
protocol
The protocol associated with the port.
'TCP' 'UDP'
ContainerGroupNetworkProfile
Name
Description
Value
id
The identifier for a network profile.
string (required)
Volume
Name
Description
Value
azureFile
The Azure File volume.
AzureFileVolume
emptyDir
The empty directory volume.
gitRepo
The git repo volume.
GitRepoVolume
name
The name of the volume.
string (required)
secret
The secret volume.
object
AzureFileVolume
Name
Description
Value
readOnly
The flag indicating whether the Azure File shared mounted as a volume is read-only.
bool
shareName
The name of the Azure File share to be mounted as a volume.
string (required)
storageAccountKey
The storage account access key used to access the Azure File share.
string
storageAccountName
The name of the storage account that contains the Azure File share.
string (required)
GitRepoVolume
Name
Description
Value
directory
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.
string
repository
Repository URL
string (required)
revision
Commit hash for the specified revision.
string
Quickstart templates
The following quickstart templates deploy this resource type.
The containerGroups resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log .
To create a Microsoft.ContainerInstance/containerGroups resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ContainerInstance/containerGroups@2018-09-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
body = jsonencode({
properties = {
containers = [
{
name = "string"
properties = {
command = [
"string"
]
environmentVariables = [
{
name = "string"
secureValue = "string"
value = "string"
}
]
image = "string"
livenessProbe = {
exec = {
command = [
"string"
]
}
failureThreshold = int
httpGet = {
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
timeoutSeconds = int
}
ports = [
{
port = int
protocol = "string"
}
]
readinessProbe = {
exec = {
command = [
"string"
]
}
failureThreshold = int
httpGet = {
path = "string"
port = int
scheme = "string"
}
initialDelaySeconds = int
periodSeconds = int
successThreshold = int
timeoutSeconds = int
}
resources = {
limits = {
cpu = int
memoryInGB = "decimal-as-string"
}
requests = {
cpu = int
memoryInGB = "decimal-as-string"
}
}
volumeMounts = [
{
mountPath = "string"
name = "string"
readOnly = bool
}
]
}
}
]
diagnostics = {
logAnalytics = {
logType = "string"
metadata = {}
workspaceId = "string"
workspaceKey = "string"
}
}
imageRegistryCredentials = [
{
password = "string"
server = "string"
username = "string"
}
]
ipAddress = {
dnsNameLabel = "string"
ip = "string"
ports = [
{
port = int
protocol = "string"
}
]
type = "string"
}
networkProfile = {
id = "string"
}
osType = "string"
restartPolicy = "string"
volumes = [
{
azureFile = {
readOnly = bool
shareName = "string"
storageAccountKey = "string"
storageAccountName = "string"
}
gitRepo = {
directory = "string"
repository = "string"
revision = "string"
}
name = "string"
secret = {}
}
]
}
})
}
Property values
containerGroups
Name
Description
Value
type
The resource type
"Microsoft.ContainerInstance/containerGroups@2018-09-01"
name
The resource name
string (required) Character limit: 1-63 Valid characters: Lowercase letters, numbers, and hyphens. Can't start or end with hyphen. Consecutive hyphens aren't allowed.
location
The resource location.
string
parent_id
To deploy to a resource group, use the ID of that resource group.
string (required)
tags
The resource tags.
Dictionary of tag names and values.
properties
ContainerGroupProperties (required)
ContainerGroupProperties
Name
Description
Value
containers
The containers within the container group.
Container [] (required)
diagnostics
The diagnostic information for a container group.
ContainerGroupDiagnostics
imageRegistryCredentials
The image registry credentials by which the container group is created from.
ImageRegistryCredential []
ipAddress
The IP address type of the container group.
IpAddress
networkProfile
The network profile information for a container group.
ContainerGroupNetworkProfile
osType
The operating system type required by the containers in the container group.
"Linux" "Windows" (required)
restartPolicy
Restart policy for all containers within the container group. - Always
Always restart - OnFailure
Restart on failure - Never
Never restart
"Always" "Never" "OnFailure"
volumes
The list of volumes that can be mounted by containers in this container group.
Volume []
Container
Name
Description
Value
name
The user-provided name of the container instance.
string (required)
properties
The properties of the container instance.
ContainerProperties (required)
ContainerProperties
Name
Description
Value
command
The commands to execute within the container instance in exec form.
string[]
environmentVariables
The environment variables to set in the container instance.
EnvironmentVariable []
image
The name of the image used to create the container instance.
string (required)
livenessProbe
The liveness probe.
ContainerProbe
ports
The exposed ports on the container instance.
ContainerPort []
readinessProbe
The readiness probe.
ContainerProbe
resources
The resource requirements of the container instance.
ResourceRequirements (required)
volumeMounts
The volume mounts available to the container instance.
VolumeMount []
EnvironmentVariable
Name
Description
Value
name
The name of the environment variable.
string (required)
secureValue
The value of the secure environment variable.
string
value
The value of the environment variable.
string
ContainerProbe
Name
Description
Value
exec
The execution command to probe
ContainerExec
failureThreshold
The failure threshold.
int
httpGet
The Http Get settings to probe
ContainerHttpGet
initialDelaySeconds
The initial delay seconds.
int
periodSeconds
The period seconds.
int
successThreshold
The success threshold.
int
timeoutSeconds
The timeout seconds.
int
ContainerExec
Name
Description
Value
command
The commands to execute within the container.
string[]
ContainerHttpGet
Name
Description
Value
path
The path to probe.
string
port
The port number to probe.
int (required)
scheme
The scheme.
"http" "https"
ContainerPort
Name
Description
Value
port
The port number exposed within the container group.
int (required)
protocol
The protocol associated with the port.
"TCP" "UDP"
ResourceRequirements
Name
Description
Value
limits
The resource limits of this container instance.
ResourceLimits
requests
The resource requests of this container instance.
ResourceRequests (required)
ResourceLimits
Name
Description
Value
cpu
The CPU limit of this container instance.
int
memoryInGB
The memory limit in GB of this container instance. Specify a decimal value as a string.
int or json decimal
ResourceRequests
Name
Description
Value
cpu
The CPU request of this container instance.
int (required)
memoryInGB
The memory request in GB of this container instance. Specify a decimal value as a string.
int or json decimal (required)
VolumeMount
Name
Description
Value
mountPath
The path within the container where the volume should be mounted. Must not contain colon (:).
string (required)
name
The name of the volume mount.
string (required)
readOnly
The flag indicating whether the volume mount is read-only.
bool
ContainerGroupDiagnostics
Name
Description
Value
logAnalytics
Container group log analytics information.
LogAnalytics
LogAnalytics
Name
Description
Value
logType
The log type to be used.
"ContainerInsights" "ContainerInstanceLogs"
metadata
Metadata for log analytics.
object
workspaceId
The workspace id for log analytics
string (required)
workspaceKey
The workspace key for log analytics
string (required)
ImageRegistryCredential
Name
Description
Value
password
The password for the private registry.
string
server
The Docker image registry server without a protocol such as "http" and "https".
string (required)
username
The username for the private registry.
string (required)
IpAddress
Name
Description
Value
dnsNameLabel
The Dns name label for the IP.
string
ip
The IP exposed to the public internet.
string
ports
The list of ports exposed on the container group.
Port [] (required)
type
Specifies if the IP is exposed to the public internet.
"Private" "Public" (required)
Port
Name
Description
Value
port
The port number.
int (required)
protocol
The protocol associated with the port.
"TCP" "UDP"
ContainerGroupNetworkProfile
Name
Description
Value
id
The identifier for a network profile.
string (required)
Volume
Name
Description
Value
azureFile
The Azure File volume.
AzureFileVolume
emptyDir
The empty directory volume.
gitRepo
The git repo volume.
GitRepoVolume
name
The name of the volume.
string (required)
secret
The secret volume.
object
AzureFileVolume
Name
Description
Value
readOnly
The flag indicating whether the Azure File shared mounted as a volume is read-only.
bool
shareName
The name of the Azure File share to be mounted as a volume.
string (required)
storageAccountKey
The storage account access key used to access the Azure File share.
string
storageAccountName
The name of the storage account that contains the Azure File share.
string (required)
GitRepoVolume
Name
Description
Value
directory
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.
string
repository
Repository URL
string (required)
revision
Commit hash for the specified revision.
string