From 9d0425c34bcb85cb48cd20b1e0a7574b1f1b2920 Mon Sep 17 00:00:00 2001 From: SDKAuto Date: Fri, 3 May 2024 07:56:49 +0000 Subject: [PATCH] CodeGen from PR 28962 in Azure/azure-rest-api-specs Merge 6aa04c53d24f56d36048a4bd71f5924479111c42 into fbc90d63f236986f7eddfffe3dca6d9d734da0b2 --- .../Microsoft.ContainerInstance.json | 579 ------- .../Microsoft.ContainerInstance.json | 606 ------- .../Microsoft.ContainerInstance.json | 653 ------- .../Microsoft.ContainerInstance.json | 657 ------- .../Microsoft.ContainerInstance.json | 657 ------- .../Microsoft.ContainerInstance.json | 870 ---------- .../Microsoft.ContainerInstance.json | 925 ---------- .../Microsoft.ContainerInstance.json | 1079 ------------ .../Microsoft.ContainerInstance.json | 1221 ------------- .../Microsoft.ContainerInstance.json | 1264 -------------- .../Microsoft.ContainerInstance.json | 1264 -------------- .../Microsoft.ContainerInstance.json | 1268 -------------- .../Microsoft.ContainerInstance.json | 1282 -------------- .../Microsoft.ContainerInstance.json | 1300 -------------- .../Microsoft.ContainerInstance.json | 1382 --------------- .../Microsoft.ContainerInstance.json | 1540 ----------------- .../Microsoft.ContainerInstance.json | 1503 ---------------- .../Microsoft.ContainerInstance.json | 1540 ----------------- schemas/common/autogeneratedResources.json | 54 - 19 files changed, 19644 deletions(-) delete mode 100644 schemas/2017-08-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2017-10-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2017-12-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2018-02-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2018-04-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2018-06-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2018-09-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2018-10-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2019-12-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2020-11-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2021-03-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2021-07-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2021-09-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2021-10-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2022-09-01/Microsoft.ContainerInstance.json delete mode 100644 schemas/2022-10-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2023-02-01-preview/Microsoft.ContainerInstance.json delete mode 100644 schemas/2023-05-01/Microsoft.ContainerInstance.json diff --git a/schemas/2017-08-01-preview/Microsoft.ContainerInstance.json b/schemas/2017-08-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index e6a471ff9b..0000000000 --- a/schemas/2017-08-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,579 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2017-08-01-preview" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group to be created or updated.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. Currently the only available option is `always`.", - "oneOf": [ - { - "enum": [ - "always" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The name of the Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - } - }, - "required": [ - "name", - "azureFile" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2017-10-01-preview/Microsoft.ContainerInstance.json b/schemas/2017-10-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index f72cdd63ce..0000000000 --- a/schemas/2017-10-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,606 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-10-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2017-10-01-preview" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The name of the Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2017-12-01-preview/Microsoft.ContainerInstance.json b/schemas/2017-12-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index 200478e884..0000000000 --- a/schemas/2017-12-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,653 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2017-12-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2017-12-01-preview" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2018-02-01-preview/Microsoft.ContainerInstance.json b/schemas/2018-02-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index 586fd8b79b..0000000000 --- a/schemas/2018-02-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,657 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-02-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2018-02-01-preview" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2018-04-01/Microsoft.ContainerInstance.json b/schemas/2018-04-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 406b057767..0000000000 --- a/schemas/2018-04-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,657 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-04-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2018-04-01" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name", - "value" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2018-06-01/Microsoft.ContainerInstance.json b/schemas/2018-06-01/Microsoft.ContainerInstance.json deleted file mode 100644 index ebae0c4b2c..0000000000 --- a/schemas/2018-06-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,870 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2018-06-01" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2018-09-01/Microsoft.ContainerInstance.json b/schemas/2018-09-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 2622fb0013..0000000000 --- a/schemas/2018-09-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,925 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-09-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2018-09-01" - ], - "type": "string" - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", - "properties": { - "id": { - "description": "The identifier for a network profile.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "networkProfile": { - "description": "The network profile information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupNetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2018-10-01/Microsoft.ContainerInstance.json b/schemas/2018-10-01/Microsoft.ContainerInstance.json deleted file mode 100644 index c344114230..0000000000 --- a/schemas/2018-10-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1079 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2018-10-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties": { - "properties": {}, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "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}'.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", - "properties": { - "id": { - "description": "The identifier for a network profile.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "networkProfile": { - "description": "The network profile information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupNetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2019-12-01/Microsoft.ContainerInstance.json b/schemas/2019-12-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 2aa58450f8..0000000000 --- a/schemas/2019-12-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1221 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2019-12-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2019-12-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties": { - "properties": {}, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "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}'.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", - "properties": { - "id": { - "description": "The identifier for a network profile.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "networkProfile": { - "description": "The network profile information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupNetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2020-11-01/Microsoft.ContainerInstance.json b/schemas/2020-11-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 6e3af8d968..0000000000 --- a/schemas/2020-11-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1264 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2020-11-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2020-11-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties": { - "properties": {}, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "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}'.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", - "properties": { - "id": { - "description": "The identifier for a network profile.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "networkProfile": { - "description": "The network profile information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupNetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2021-03-01/Microsoft.ContainerInstance.json b/schemas/2021-03-01/Microsoft.ContainerInstance.json deleted file mode 100644 index b8e358732d..0000000000 --- a/schemas/2021-03-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1264 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-03-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2021-03-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties": { - "properties": {}, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "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}'.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupNetworkProfile": { - "description": "Container group network profile information.", - "properties": { - "id": { - "description": "The identifier for a network profile.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerGroupProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "networkProfile": { - "description": "The network profile information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupNetworkProfile" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2021-07-01/Microsoft.ContainerInstance.json b/schemas/2021-07-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 4fd0618e8f..0000000000 --- a/schemas/2021-07-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1268 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-07-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2021-07-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties": { - "properties": {}, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "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}'.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/Components10Wh5UdSchemasContainergroupidentityPropertiesUserassignedidentitiesAdditionalproperties" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server", - "username" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2021-09-01/Microsoft.ContainerInstance.json b/schemas/2021-09-01/Microsoft.ContainerInstance.json deleted file mode 100644 index f22eefd851..0000000000 --- a/schemas/2021-09-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1282 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-09-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2021-09-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2021-10-01/Microsoft.ContainerInstance.json b/schemas/2021-10-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 2c3bc1688c..0000000000 --- a/schemas/2021-10-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1300 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2021-10-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "autoGeneratedDomainNameLabelScope": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "Unsecure", - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "Noreuse" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2022-09-01/Microsoft.ContainerInstance.json b/schemas/2022-09-01/Microsoft.ContainerInstance.json deleted file mode 100644 index 8af0f2db3b..0000000000 --- a/schemas/2022-09-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1382 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2022-09-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "extensions": { - "description": "extensions used by virtual kubelet", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/DeploymentExtensionSpec" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DeploymentExtensionSpec": { - "description": "Extension sidecars to be added to the deployment.", - "properties": { - "name": { - "description": "Name of the extension.", - "type": "string" - }, - "properties": { - "description": "Extension specific properties", - "oneOf": [ - { - "$ref": "#/definitions/DeploymentExtensionSpecProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "DeploymentExtensionSpecProperties": { - "description": "Extension specific properties", - "properties": { - "extensionType": { - "description": "Type of extension to be added.", - "type": "string" - }, - "protectedSettings": { - "description": "Protected settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "settings": { - "description": "Settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "version": { - "description": "Version of the extension being used.", - "type": "string" - } - }, - "required": [ - "extensionType", - "version" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "identity": { - "description": "The keyvault managed identity.", - "type": "string" - }, - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "autoGeneratedDomainNameLabelScope": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "Unsecure", - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "Noreuse" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json b/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index 3d159ffced..0000000000 --- a/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1540 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2022-10-01-preview" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "ConfidentialComputeProperties": { - "description": "The properties for confidential container group", - "properties": { - "ccePolicy": { - "description": "The base64 encoded confidential compute enforcement policy", - "type": "string" - } - }, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "confidentialComputeProperties": { - "description": "The properties for confidential container group", - "oneOf": [ - { - "$ref": "#/definitions/ConfidentialComputeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "extensions": { - "description": "extensions used by virtual kubelet", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/DeploymentExtensionSpec" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "priority": { - "description": "The priority of the container group.", - "oneOf": [ - { - "enum": [ - "Regular", - "Spot" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated", - "Confidential" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "securityContext": { - "description": "The container security properties.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DeploymentExtensionSpec": { - "description": "Extension sidecars to be added to the deployment.", - "properties": { - "name": { - "description": "Name of the extension.", - "type": "string" - }, - "properties": { - "description": "Extension specific properties", - "oneOf": [ - { - "$ref": "#/definitions/DeploymentExtensionSpecProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "DeploymentExtensionSpecProperties": { - "description": "Extension specific properties", - "properties": { - "extensionType": { - "description": "Type of extension to be added.", - "type": "string" - }, - "protectedSettings": { - "description": "Protected settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "settings": { - "description": "Settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "version": { - "description": "Version of the extension being used.", - "type": "string" - } - }, - "required": [ - "extensionType", - "version" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "identity": { - "description": "The keyvault managed identity.", - "type": "string" - }, - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "securityContext": { - "description": "The container security properties.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "autoGeneratedDomainNameLabelScope": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "Unsecure", - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "Noreuse" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "SecurityContextCapabilitiesDefinition": { - "description": "The capabilities to add or drop from a container.", - "properties": { - "add": { - "description": "The capabilities to add to the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "drop": { - "description": "The capabilities to drop from the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "SecurityContextDefinition": { - "description": "The security context for the container.", - "properties": { - "allowPrivilegeEscalation": { - "description": "A boolean value indicating whether the init process can elevate its privileges", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "capabilities": { - "description": "The capabilities to add or drop from a container.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "privileged": { - "description": "The flag to determine if the container permissions is elevated to Privileged.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsGroup": { - "description": "Sets the User GID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsUser": { - "description": "Sets the User UID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "seccompProfile": { - "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile", - "type": "string" - } - }, - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json b/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json deleted file mode 100644 index 27e9762179..0000000000 --- a/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1503 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2023-02-01-preview" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "extensions": { - "description": "extensions used by virtual kubelet", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/DeploymentExtensionSpec" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "provisioningTimeoutInSeconds": { - "description": "Time in seconds in which a container group deployment would timeout and fail. The allowed maximum value is 1800 seconds. If value is not provided, property is given maximum value by default.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "securityContext": { - "description": "The container security properties.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DeploymentExtensionSpec": { - "description": "Extension sidecars to be added to the deployment.", - "properties": { - "name": { - "description": "Name of the extension.", - "type": "string" - }, - "properties": { - "description": "Extension specific properties", - "oneOf": [ - { - "$ref": "#/definitions/DeploymentExtensionSpecProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "DeploymentExtensionSpecProperties": { - "description": "Extension specific properties", - "properties": { - "extensionType": { - "description": "Type of extension to be added.", - "type": "string" - }, - "protectedSettings": { - "description": "Protected settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "settings": { - "description": "Settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "version": { - "description": "Version of the extension being used.", - "type": "string" - } - }, - "required": [ - "extensionType", - "version" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "identity": { - "description": "The keyvault managed identity.", - "type": "string" - }, - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "autoGeneratedDomainNameLabelScope": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "Unsecure", - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "Noreuse" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "SecurityContextCapabilitiesDefinition": { - "description": "The capabilities to add or drop from a container.", - "properties": { - "add": { - "description": "The capabilities to add to the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "drop": { - "description": "The capabilities to drop from the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "SecurityContextDefinition": { - "description": "The security context for the container.", - "properties": { - "allowPrivilegeEscalation": { - "description": "A boolean value indicating whether the init process can elevate its privileges", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "capabilities": { - "description": "The capabilities to add or drop from a container.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "privileged": { - "description": "The flag to determine if the container permissions is elevated to Privileged.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsGroup": { - "description": "Sets the User GID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsUser": { - "description": "Sets the User UID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "seccompProfile": { - "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile", - "type": "string" - } - }, - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/2023-05-01/Microsoft.ContainerInstance.json b/schemas/2023-05-01/Microsoft.ContainerInstance.json deleted file mode 100644 index e9b4599f69..0000000000 --- a/schemas/2023-05-01/Microsoft.ContainerInstance.json +++ /dev/null @@ -1,1540 +0,0 @@ -{ - "id": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.ContainerInstance.json#", - "title": "Microsoft.ContainerInstance", - "description": "Microsoft ContainerInstance Resource Types", - "$schema": "http://json-schema.org/draft-04/schema#", - "resourceDefinitions": { - "containerGroups": { - "description": "Microsoft.ContainerInstance/containerGroups", - "properties": { - "apiVersion": { - "enum": [ - "2023-05-01" - ], - "type": "string" - }, - "identity": { - "description": "The identity of the container group, if configured.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupIdentity" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "location": { - "description": "The resource location.", - "type": "string" - }, - "name": { - "description": "The name of the container group.", - "type": "string" - }, - "properties": { - "description": "The container group properties", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupPropertiesProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "tags": { - "description": "The resource tags.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "enum": [ - "Microsoft.ContainerInstance/containerGroups" - ], - "type": "string" - }, - "zones": { - "description": "The zones for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties", - "apiVersion", - "type" - ], - "type": "object" - } - }, - "definitions": { - "AzureFileVolume": { - "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", - "properties": { - "readOnly": { - "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "shareName": { - "description": "The name of the Azure File share to be mounted as a volume.", - "type": "string" - }, - "storageAccountKey": { - "description": "The storage account access key used to access the Azure File share.", - "type": "string" - }, - "storageAccountName": { - "description": "The name of the storage account that contains the Azure File share.", - "type": "string" - } - }, - "required": [ - "shareName", - "storageAccountName" - ], - "type": "object" - }, - "ConfidentialComputeProperties": { - "description": "The properties for confidential container group", - "properties": { - "ccePolicy": { - "description": "The base64 encoded confidential compute enforcement policy", - "type": "string" - } - }, - "type": "object" - }, - "Container": { - "description": "A container instance.", - "properties": { - "name": { - "description": "The user-provided name of the container instance.", - "type": "string" - }, - "properties": { - "description": "The properties of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "ContainerExec": { - "description": "The container execution command, for liveness or readiness probe", - "properties": { - "command": { - "description": "The commands to execute within the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupDiagnostics": { - "description": "Container group diagnostic information.", - "properties": { - "logAnalytics": { - "description": "Container group log analytics information.", - "oneOf": [ - { - "$ref": "#/definitions/LogAnalytics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupIdentity": { - "description": "Identity for the container group.", - "properties": { - "type": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "SystemAssigned", - "UserAssigned", - "SystemAssigned, UserAssigned", - "None" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "userAssignedIdentities": { - "description": "The list of user identities associated with the container group.", - "oneOf": [ - { - "additionalProperties": { - "$ref": "#/definitions/UserAssignedIdentities" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerGroupPropertiesProperties": { - "description": "The container group properties", - "properties": { - "confidentialComputeProperties": { - "description": "The properties for confidential container group", - "oneOf": [ - { - "$ref": "#/definitions/ConfidentialComputeProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "containers": { - "description": "The containers within the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Container" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "diagnostics": { - "description": "The diagnostic information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerGroupDiagnostics" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsConfig": { - "description": "The DNS config information for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/DnsConfiguration" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "encryptionProperties": { - "description": "The encryption properties for a container group.", - "oneOf": [ - { - "$ref": "#/definitions/EncryptionProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "extensions": { - "description": "extensions used by virtual kubelet", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/DeploymentExtensionSpec" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "imageRegistryCredentials": { - "description": "The image registry credentials by which the container group is created from.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ImageRegistryCredential" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initContainers": { - "description": "The init containers for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/InitContainerDefinition" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ipAddress": { - "description": "The IP address type of the container group.", - "oneOf": [ - { - "$ref": "#/definitions/IpAddress" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "osType": { - "description": "The operating system type required by the containers in the container group.", - "oneOf": [ - { - "enum": [ - "Windows", - "Linux" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "priority": { - "description": "The priority of the container group.", - "oneOf": [ - { - "enum": [ - "Regular", - "Spot" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "restartPolicy": { - "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", - "oneOf": [ - { - "enum": [ - "Always", - "OnFailure", - "Never" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU for a container group.", - "oneOf": [ - { - "enum": [ - "Standard", - "Dedicated", - "Confidential" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "subnetIds": { - "description": "The subnet resource IDs for a container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerGroupSubnetId" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumes": { - "description": "The list of volumes that can be mounted by containers in this container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Volume" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "containers", - "osType" - ], - "type": "object" - }, - "ContainerGroupSubnetId": { - "description": "Container group subnet information.", - "properties": { - "id": { - "description": "Resource ID of virtual network and subnet.", - "type": "string" - }, - "name": { - "description": "Friendly name for the subnet.", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "ContainerHttpGet": { - "description": "The container Http Get settings, for liveness or readiness probe", - "properties": { - "httpHeaders": { - "description": "The HTTP headers.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/HttpHeader" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "path": { - "description": "The path to probe.", - "type": "string" - }, - "port": { - "description": "The port number to probe.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "scheme": { - "description": "The scheme.", - "oneOf": [ - { - "enum": [ - "http", - "https" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerPort": { - "description": "The port exposed on the container instance.", - "properties": { - "port": { - "description": "The port number exposed within the container group.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ContainerProbe": { - "description": "The container probe, for liveness or readiness", - "properties": { - "exec": { - "description": "The execution command to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerExec" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "failureThreshold": { - "description": "The failure threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "httpGet": { - "description": "The Http Get settings to probe", - "oneOf": [ - { - "$ref": "#/definitions/ContainerHttpGet" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "initialDelaySeconds": { - "description": "The initial delay seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "periodSeconds": { - "description": "The period seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "successThreshold": { - "description": "The success threshold.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "timeoutSeconds": { - "description": "The timeout seconds.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ContainerProperties": { - "description": "The container instance properties.", - "properties": { - "command": { - "description": "The commands to execute within the container instance in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The name of the image used to create the container instance.", - "type": "string" - }, - "livenessProbe": { - "description": "The liveness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "ports": { - "description": "The exposed ports on the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/ContainerPort" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "readinessProbe": { - "description": "The readiness probe.", - "oneOf": [ - { - "$ref": "#/definitions/ContainerProbe" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "resources": { - "description": "The resource requirements of the container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequirements" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "securityContext": { - "description": "The container security properties.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the container instance.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "image", - "resources" - ], - "type": "object" - }, - "DeploymentExtensionSpec": { - "description": "Extension sidecars to be added to the deployment.", - "properties": { - "name": { - "description": "Name of the extension.", - "type": "string" - }, - "properties": { - "description": "Extension specific properties", - "oneOf": [ - { - "$ref": "#/definitions/DeploymentExtensionSpecProperties" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "DeploymentExtensionSpecProperties": { - "description": "Extension specific properties", - "properties": { - "extensionType": { - "description": "Type of extension to be added.", - "type": "string" - }, - "protectedSettings": { - "description": "Protected settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "settings": { - "description": "Settings for the extension.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "version": { - "description": "Version of the extension being used.", - "type": "string" - } - }, - "required": [ - "extensionType", - "version" - ], - "type": "object" - }, - "DnsConfiguration": { - "description": "DNS configuration for the container group.", - "properties": { - "nameServers": { - "description": "The DNS servers for the container group.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "options": { - "description": "The DNS options for the container group.", - "type": "string" - }, - "searchDomains": { - "description": "The DNS search domains for hostname lookup in the container group.", - "type": "string" - } - }, - "required": [ - "nameServers" - ], - "type": "object" - }, - "EncryptionProperties": { - "description": "The container group encryption properties.", - "properties": { - "identity": { - "description": "The keyvault managed identity.", - "type": "string" - }, - "keyName": { - "description": "The encryption key name.", - "type": "string" - }, - "keyVersion": { - "description": "The encryption key version.", - "type": "string" - }, - "vaultBaseUrl": { - "description": "The keyvault base url.", - "type": "string" - } - }, - "required": [ - "vaultBaseUrl", - "keyName", - "keyVersion" - ], - "type": "object" - }, - "EnvironmentVariable": { - "description": "The environment variable to set within the container instance.", - "properties": { - "name": { - "description": "The name of the environment variable.", - "type": "string" - }, - "secureValue": { - "description": "The value of the secure environment variable.", - "type": "string" - }, - "value": { - "description": "The value of the environment variable.", - "type": "string" - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "GitRepoVolume": { - "description": "Represents a volume that is populated with the contents of a git repository", - "properties": { - "directory": { - "description": "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.", - "type": "string" - }, - "repository": { - "description": "Repository URL", - "type": "string" - }, - "revision": { - "description": "Commit hash for the specified revision.", - "type": "string" - } - }, - "required": [ - "repository" - ], - "type": "object" - }, - "GpuResource": { - "description": "The GPU resource.", - "properties": { - "count": { - "description": "The count of the GPU resource.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "sku": { - "description": "The SKU of the GPU resource.", - "oneOf": [ - { - "enum": [ - "K80", - "P100", - "V100" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "count", - "sku" - ], - "type": "object" - }, - "HttpHeader": { - "description": "The HTTP header.", - "properties": { - "name": { - "description": "The header name.", - "type": "string" - }, - "value": { - "description": "The header value.", - "type": "string" - } - }, - "type": "object" - }, - "ImageRegistryCredential": { - "description": "Image registry credential.", - "properties": { - "identity": { - "description": "The identity for the private registry.", - "type": "string" - }, - "identityUrl": { - "description": "The identity URL for the private registry.", - "type": "string" - }, - "password": { - "description": "The password for the private registry.", - "type": "string" - }, - "server": { - "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".", - "type": "string" - }, - "username": { - "description": "The username for the private registry.", - "type": "string" - } - }, - "required": [ - "server" - ], - "type": "object" - }, - "InitContainerDefinition": { - "description": "The init container definition.", - "properties": { - "name": { - "description": "The name for the init container.", - "type": "string" - }, - "properties": { - "description": "The properties for the init container.", - "oneOf": [ - { - "$ref": "#/definitions/InitContainerPropertiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "properties" - ], - "type": "object" - }, - "InitContainerPropertiesDefinition": { - "description": "The init container definition properties.", - "properties": { - "command": { - "description": "The command to execute within the init container in exec form.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "environmentVariables": { - "description": "The environment variables to set in the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/EnvironmentVariable" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "image": { - "description": "The image of the init container.", - "type": "string" - }, - "securityContext": { - "description": "The container security properties.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "volumeMounts": { - "description": "The volume mounts available to the init container.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/VolumeMount" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "IpAddress": { - "description": "IP address for the container group.", - "properties": { - "autoGeneratedDomainNameLabelScope": { - "description": "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.", - "oneOf": [ - { - "enum": [ - "Unsecure", - "TenantReuse", - "SubscriptionReuse", - "ResourceGroupReuse", - "Noreuse" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "dnsNameLabel": { - "description": "The Dns name label for the IP.", - "type": "string" - }, - "ip": { - "description": "The IP exposed to the public internet.", - "type": "string" - }, - "ports": { - "description": "The list of ports exposed on the container group.", - "oneOf": [ - { - "items": { - "$ref": "#/definitions/Port" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "type": { - "description": "Specifies if the IP is exposed to the public internet or private VNET.", - "oneOf": [ - { - "enum": [ - "Public", - "Private" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "ports", - "type" - ], - "type": "object" - }, - "LogAnalytics": { - "description": "Container group log analytics information.", - "properties": { - "logType": { - "description": "The log type to be used.", - "oneOf": [ - { - "enum": [ - "ContainerInsights", - "ContainerInstanceLogs" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "metadata": { - "description": "Metadata for log analytics.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "workspaceId": { - "description": "The workspace id for log analytics", - "type": "string" - }, - "workspaceKey": { - "description": "The workspace key for log analytics", - "type": "string" - }, - "workspaceResourceId": { - "description": "The workspace resource id for log analytics", - "type": "string" - } - }, - "required": [ - "workspaceId", - "workspaceKey" - ], - "type": "object" - }, - "Port": { - "description": "The port exposed on the container group.", - "properties": { - "port": { - "description": "The port number.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "protocol": { - "description": "The protocol associated with the port.", - "oneOf": [ - { - "enum": [ - "TCP", - "UDP" - ], - "type": "string" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "port" - ], - "type": "object" - }, - "ResourceLimits": { - "description": "The resource limits.", - "properties": { - "cpu": { - "description": "The CPU limit of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU limit of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory limit in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "ResourceRequests": { - "description": "The resource requests.", - "properties": { - "cpu": { - "description": "The CPU request of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gpu": { - "description": "The GPU request of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/GpuResource" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "memoryInGB": { - "description": "The memory request in GB of this container instance.", - "oneOf": [ - { - "type": "number" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "memoryInGB", - "cpu" - ], - "type": "object" - }, - "ResourceRequirements": { - "description": "The resource requirements.", - "properties": { - "limits": { - "description": "The resource limits of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceLimits" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "requests": { - "description": "The resource requests of this container instance.", - "oneOf": [ - { - "$ref": "#/definitions/ResourceRequests" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "requests" - ], - "type": "object" - }, - "SecurityContextCapabilitiesDefinition": { - "description": "The capabilities to add or drop from a container.", - "properties": { - "add": { - "description": "The capabilities to add to the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "drop": { - "description": "The capabilities to drop from the container.", - "oneOf": [ - { - "items": { - "type": "string" - }, - "type": "array" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "type": "object" - }, - "SecurityContextDefinition": { - "description": "The security context for the container.", - "properties": { - "allowPrivilegeEscalation": { - "description": "A boolean value indicating whether the init process can elevate its privileges", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "capabilities": { - "description": "The capabilities to add or drop from a container.", - "oneOf": [ - { - "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "privileged": { - "description": "The flag to determine if the container permissions is elevated to Privileged.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsGroup": { - "description": "Sets the User GID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "runAsUser": { - "description": "Sets the User UID for the container.", - "oneOf": [ - { - "type": "integer" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "seccompProfile": { - "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile", - "type": "string" - } - }, - "type": "object" - }, - "UserAssignedIdentities": { - "description": "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}'.", - "properties": {}, - "type": "object" - }, - "Volume": { - "description": "The properties of the volume.", - "properties": { - "azureFile": { - "description": "The Azure File volume.", - "oneOf": [ - { - "$ref": "#/definitions/AzureFileVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "emptyDir": { - "description": "The empty directory volume.", - "oneOf": [ - { - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "gitRepo": { - "description": "The git repo volume.", - "oneOf": [ - { - "$ref": "#/definitions/GitRepoVolume" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - }, - "name": { - "description": "The name of the volume.", - "type": "string" - }, - "secret": { - "description": "The secret volume.", - "oneOf": [ - { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name" - ], - "type": "object" - }, - "VolumeMount": { - "description": "The properties of the volume mount.", - "properties": { - "mountPath": { - "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", - "type": "string" - }, - "name": { - "description": "The name of the volume mount.", - "type": "string" - }, - "readOnly": { - "description": "The flag indicating whether the volume mount is read-only.", - "oneOf": [ - { - "type": "boolean" - }, - { - "$ref": "https://schema.management.azure.com/schemas/common/definitions.json#/definitions/expression" - } - ] - } - }, - "required": [ - "name", - "mountPath" - ], - "type": "object" - } - } -} \ No newline at end of file diff --git a/schemas/common/autogeneratedResources.json b/schemas/common/autogeneratedResources.json index ab4d6df4d4..171dd198ce 100644 --- a/schemas/common/autogeneratedResources.json +++ b/schemas/common/autogeneratedResources.json @@ -8935,60 +8935,6 @@ { "$ref": "https://schema.management.azure.com/schemas/2023-11-01/Microsoft.Consumption.json#/unknown_resourceDefinitions/budgets" }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-08-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-10-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2017-12-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-02-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-04-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-06-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-09-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2018-10-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2019-12-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2020-11-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-03-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-07-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-09-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2021-10-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-09-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2022-10-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2023-02-01-preview/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, - { - "$ref": "https://schema.management.azure.com/schemas/2023-05-01/Microsoft.ContainerInstance.json#/resourceDefinitions/containerGroups" - }, { "$ref": "https://schema.management.azure.com/schemas/2016-06-27-preview/Microsoft.ContainerRegistry.json#/resourceDefinitions/registries" },