diff --git a/custom-words.txt b/custom-words.txt index 59c75b176dcb..d5848f6a806a 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -2729,6 +2729,7 @@ routesets wayfind wayfinding Securitytypes +seccomp leadgen dryruns Dryrun @@ -2784,4 +2785,4 @@ Unprepares Unpreparing typespec DSPM -Dspm +Dspm \ No newline at end of file diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/containerInstance.json new file mode 100644 index 000000000000..6b4540674ca7 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/containerInstance.json @@ -0,0 +1,2549 @@ +{ + "swagger": "2.0", + "info": { + "version": "2023-05-01", + "title": "ContainerInstanceManagementClient" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "Impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_List", + "x-ms-examples": { + "ContainerGroupsList": { + "$ref": "./examples/ContainerGroupsList.json" + } + }, + "summary": "Get a list of container groups in the specified subscription.", + "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_ListByResourceGroup", + "x-ms-examples": { + "ContainerGroupsListByResourceGroup": { + "$ref": "./examples/ContainerGroupsListByResourceGroup.json" + } + }, + "summary": "Get a list of container groups in the specified subscription and resource group.", + "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": { + "get": { + "operationId": "ContainerGroups_Get", + "x-ms-examples": { + "ContainerGroupsGet_Succeeded": { + "$ref": "./examples/ContainerGroupsGet_Succeeded.json" + }, + "ContainerGroupsGet_Failed": { + "$ref": "./examples/ContainerGroupsGet_Failed.json" + }, + "ContainerGroupsGetWithPriority": { + "$ref": "./examples/ContainerGroupsGetPriority.json" + } + }, + "summary": "Get the properties of the specified container group.", + "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "ContainerGroups_CreateOrUpdate", + "x-ms-examples": { + "ContainerGroupsCreateOrUpdate": { + "$ref": "./examples/ContainerGroupsCreateOrUpdate.json" + }, + "ContainerGroupCreateWithExtensions": { + "$ref": "./examples/ContainerGroupExtensions.json" + }, + "ContainerGroupWithEncryptionProperties": { + "$ref": "./examples/ContainerGroupEncryptionProperties.json" + }, + "ConfidentialContainerGroup": { + "$ref": "./examples/ContainerGroupCreateConfidential.json" + }, + "ContainerGroupsCreateWithPriority": { + "$ref": "./examples/ContainerGroupsCreatePriority.json" + } + }, + "summary": "Create or update container groups.", + "description": "Create or update container groups with specified configurations.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerGroup", + "description": "The properties of the container group to be created or updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "201": { + "description": "Created - the container group is created.", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ContainerGroups_Update", + "x-ms-examples": { + "ContainerGroupsUpdate": { + "$ref": "./examples/ContainerGroupsUpdate.json" + } + }, + "summary": "Update container groups.", + "description": "Updates container group tags with specified values.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "Resource", + "description": "The container group resource with just the tags to be updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Resource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "ContainerGroups_Delete", + "x-ms-examples": { + "ContainerGroupsDelete": { + "$ref": "./examples/ContainerGroupsDelete.json" + } + }, + "summary": "Delete the specified container group.", + "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "202": { + "description": "Delete started." + }, + "204": { + "description": "No Content - the specified container group was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/restart": { + "post": { + "operationId": "ContainerGroups_Restart", + "x-ms-examples": { + "ContainerRestart": { + "$ref": "./examples/ContainerGroupsRestart.json" + } + }, + "summary": "Restarts all containers in a container group.", + "description": "Restarts all containers in a container group in place. If container image has updates, new image will be downloaded.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/stop": { + "post": { + "operationId": "ContainerGroups_Stop", + "x-ms-examples": { + "ContainerStop": { + "$ref": "./examples/ContainerGroupsStop.json" + } + }, + "summary": "Stops all containers in a container group.", + "description": "Stops all containers in a container group. Compute resources will be deallocated and billing will stop.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start": { + "post": { + "operationId": "ContainerGroups_Start", + "x-ms-examples": { + "ContainerStart": { + "$ref": "./examples/ContainerGroupsStart.json" + } + }, + "summary": "Starts all containers in a container group.", + "description": "Starts all containers in a container group. Compute resources will be allocated and billing will start.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "202": { + "description": "Started - the container group is starting." + }, + "204": { + "description": "Started - the container group is already running or starting." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.ContainerInstance/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List the operations for Azure Container Instance service.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": { + "get": { + "operationId": "Location_ListUsage", + "x-ms-examples": { + "ContainerUsage": { + "$ref": "./examples/ContainerGroupUsage.json" + } + }, + "description": "Get the usage for a subscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": { + "get": { + "operationId": "Containers_ListLogs", + "x-ms-examples": { + "ContainerListLogs": { + "$ref": "./examples/ContainerListLogs.json" + } + }, + "summary": "Get the logs for a specified container instance.", + "description": "Get the logs for a specified container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "name": "tail", + "in": "query", + "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.", + "type": "integer", + "format": "int32" + }, + { + "name": "timestamps", + "in": "query", + "description": "If true, adds a timestamp at the beginning of every line of log output. If not provided, defaults to false.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Logs" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": { + "post": { + "operationId": "Containers_ExecuteCommand", + "x-ms-examples": { + "ContainerExec": { + "$ref": "./examples/ContainerExec.json" + } + }, + "summary": "Executes a command in a specific container instance.", + "description": "Executes a command for a specific container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "name": "containerExecRequest", + "in": "body", + "description": "The request for the exec command.", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerExecRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerExecResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach": { + "post": { + "operationId": "Containers_Attach", + "x-ms-examples": { + "ContainerAttach": { + "$ref": "./examples/ContainerAttach.json" + } + }, + "summary": "Attach to the output of a specific container instance.", + "description": "Attach to the output stream of a specific container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAttachResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": { + "get": { + "operationId": "Location_ListCachedImages", + "x-ms-examples": { + "CachedImages": { + "$ref": "./examples/CachedImagesList.json" + } + }, + "summary": "Get the list of cached images.", + "description": "Get the list of cached images on specific OS type for a subscription in a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CachedImagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": { + "get": { + "operationId": "Location_ListCapabilities", + "x-ms-examples": { + "GetCapabilities": { + "$ref": "./examples/CapabilitiesList.json" + } + }, + "summary": "Get the list of capabilities of the location.", + "description": "Get the list of CPU/memory/GPU capabilities of a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapabilitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/outboundNetworkDependenciesEndpoints": { + "get": { + "operationId": "ContainerGroups_GetOutboundNetworkDependenciesEndpoints", + "x-ms-examples": {}, + "summary": "Get all network dependencies for container group.", + "description": "Gets all the network dependencies for this container group to allow complete control of network setting and configuration. For container groups, this will always be an empty list.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkDependenciesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default": { + "delete": { + "operationId": "SubnetServiceAssociationLink_Delete", + "x-ms-examples": { + "SubnetServiceAssociationLinkDelete": { + "$ref": "./examples/SubnetServiceAssociationLinkDelete.json" + } + }, + "summary": "Delete container group virtual network association links.", + "description": "Delete container group virtual network association links. The operation does not delete other resources provided by the user.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "#/parameters/SubnetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Delete started." + }, + "204": { + "description": "No Content - the specified container group was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Container": { + "description": "A container instance.", + "type": "object", + "required": [ + "properties", + "name" + ], + "properties": { + "name": { + "description": "The user-provided name of the container instance.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the container instance.", + "$ref": "#/definitions/ContainerProperties" + } + } + }, + "ContainerProperties": { + "description": "The container instance properties.", + "type": "object", + "required": [ + "image", + "resources" + ], + "properties": { + "image": { + "description": "The name of the image used to create the container instance.", + "type": "string" + }, + "command": { + "description": "The commands to execute within the container instance in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "ports": { + "description": "The exposed ports on the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerPort" + }, + "x-ms-identifiers": [ + "port" + ] + }, + "environmentVariables": { + "description": "The environment variables to set in the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the container instance. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the container instance has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "Current container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "Previous container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + } + } + }, + "resources": { + "description": "The resource requirements of the container instance.", + "$ref": "#/definitions/ResourceRequirements" + }, + "volumeMounts": { + "description": "The volume mounts available to the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "livenessProbe": { + "description": "The liveness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "readinessProbe": { + "description": "The readiness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "securityContext": { + "description": "The container security properties.", + "$ref": "#/definitions/SecurityContextDefinition" + } + } + }, + "SecurityContextDefinition": { + "description": "The security context for the container.", + "type": "object", + "properties": { + "privileged": { + "type": "boolean", + "description": "The flag to determine if the container permissions is elevated to Privileged." + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "A boolean value indicating whether the init process can elevate its privileges" + }, + "capabilities": { + "description": "The capabilities to add or drop from a container.", + "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" + }, + "runAsGroup": { + "type": "integer", + "format": "int32", + "description": "Sets the User GID for the container." + }, + "runAsUser": { + "type": "integer", + "format": "int32", + "description": "Sets the User UID for the container." + }, + "seccompProfile": { + "type": "string", + "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile" + } + } + }, + "SecurityContextCapabilitiesDefinition": { + "description": "The capabilities to add or drop from a container.", + "type": "object", + "properties": { + "add": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capabilities to add to the container." + }, + "drop": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capabilities to drop from the container." + } + } + }, + "ContainerState": { + "description": "The container instance state.", + "type": "object", + "readOnly": true, + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the container instance." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time when the container instance state started." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The container instance exit codes correspond to those from the `docker run` command." + }, + "finishTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time when the container instance state finished." + }, + "detailStatus": { + "type": "string", + "readOnly": true, + "description": "The human-readable status of the container instance state." + } + } + }, + "Event": { + "description": "A container group or container instance event.", + "type": "object", + "readOnly": true, + "properties": { + "count": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The count of the event." + }, + "firstTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time of the earliest logged event." + }, + "lastTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time of the latest logged event." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The event name." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The event message." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The event type." + } + } + }, + "ResourceRequirements": { + "description": "The resource requirements.", + "type": "object", + "required": [ + "requests" + ], + "properties": { + "requests": { + "description": "The resource requests of this container instance.", + "$ref": "#/definitions/ResourceRequests" + }, + "limits": { + "description": "The resource limits of this container instance.", + "$ref": "#/definitions/ResourceLimits" + } + } + }, + "ResourceRequests": { + "description": "The resource requests.", + "type": "object", + "required": [ + "memoryInGB", + "cpu" + ], + "properties": { + "memoryInGB": { + "description": "The memory request in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU request of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU request of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "ResourceLimits": { + "description": "The resource limits.", + "type": "object", + "properties": { + "memoryInGB": { + "description": "The memory limit in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU limit of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU limit of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "GpuResource": { + "description": "The GPU resource.", + "type": "object", + "required": [ + "count", + "sku" + ], + "properties": { + "count": { + "description": "The count of the GPU resource.", + "type": "integer", + "format": "int32" + }, + "sku": { + "type": "string", + "description": "The SKU of the GPU resource.", + "enum": [ + "K80", + "P100", + "V100" + ], + "x-ms-enum": { + "name": "GpuSku", + "modelAsString": true + } + } + } + }, + "AzureFileVolume": { + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", + "type": "object", + "required": [ + "shareName", + "storageAccountName" + ], + "properties": { + "shareName": { + "description": "The name of the Azure File share to be mounted as a volume.", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", + "type": "boolean" + }, + "storageAccountName": { + "description": "The name of the storage account that contains the Azure File share.", + "type": "string" + }, + "storageAccountKey": { + "description": "The storage account access key used to access the Azure File share.", + "type": "string" + } + } + }, + "EmptyDirVolume": { + "description": "The empty directory volume.", + "type": "object", + "properties": {} + }, + "SecretVolume": { + "description": "The secret volume.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "GitRepoVolume": { + "description": "Represents a volume that is populated with the contents of a git repository", + "required": [ + "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" + } + } + }, + "Volume": { + "description": "The properties of the volume.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the volume.", + "type": "string" + }, + "azureFile": { + "description": "The Azure File volume.", + "$ref": "#/definitions/AzureFileVolume" + }, + "emptyDir": { + "description": "The empty directory volume.", + "$ref": "#/definitions/EmptyDirVolume" + }, + "secret": { + "description": "The secret volume.", + "$ref": "#/definitions/SecretVolume" + }, + "gitRepo": { + "description": "The git repo volume.", + "$ref": "#/definitions/GitRepoVolume" + } + } + }, + "VolumeMount": { + "description": "The properties of the volume mount.", + "type": "object", + "required": [ + "name", + "mountPath" + ], + "properties": { + "name": { + "description": "The name of the volume mount.", + "type": "string" + }, + "mountPath": { + "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the volume mount is read-only.", + "type": "boolean" + } + } + }, + "ContainerExec": { + "type": "object", + "description": "The container execution command, for liveness or readiness probe", + "properties": { + "command": { + "description": "The commands to execute within the container.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ContainerHttpGet": { + "type": "object", + "description": "The container Http Get settings, for liveness or readiness probe", + "properties": { + "path": { + "description": "The path to probe.", + "type": "string" + }, + "port": { + "type": "integer", + "description": "The port number to probe.", + "format": "int32" + }, + "scheme": { + "description": "The scheme.", + "type": "string", + "enum": [ + "http", + "https" + ], + "x-ms-enum": { + "name": "Scheme", + "modelAsString": true + } + }, + "httpHeaders": { + "description": "The HTTP headers.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "required": [ + "port" + ] + }, + "ContainerProbe": { + "type": "object", + "description": "The container probe, for liveness or readiness", + "properties": { + "exec": { + "description": "The execution command to probe", + "$ref": "#/definitions/ContainerExec" + }, + "httpGet": { + "description": "The Http Get settings to probe", + "$ref": "#/definitions/ContainerHttpGet" + }, + "initialDelaySeconds": { + "description": "The initial delay seconds.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "The period seconds.", + "type": "integer", + "format": "int32" + }, + "failureThreshold": { + "description": "The failure threshold.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "The success threshold.", + "type": "integer", + "format": "int32" + }, + "timeoutSeconds": { + "description": "The timeout seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "ContainerGroup": { + "description": "A container group.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "$ref": "#/definitions/ContainerGroupProperties" + } + ] + }, + "ContainerGroupProperties": { + "description": "The container group properties", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "identity": { + "$ref": "#/definitions/ContainerGroupIdentity", + "description": "The identity of the container group, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The container group properties", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the container group. This only appears in the response." + }, + "containers": { + "type": "array", + "description": "The containers within the container group.", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "imageRegistryCredentials": { + "type": "array", + "description": "The image registry credentials by which the container group is created from.", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + }, + "x-ms-identifiers": [ + "username" + ] + }, + "restartPolicy": { + "type": "string", + "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", + "enum": [ + "Always", + "OnFailure", + "Never" + ], + "x-ms-enum": { + "name": "ContainerGroupRestartPolicy", + "modelAsString": true + } + }, + "ipAddress": { + "description": "The IP address type of the container group.", + "$ref": "#/definitions/IpAddress" + }, + "osType": { + "type": "string", + "description": "The operating system type required by the containers in the container group.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": true + } + }, + "volumes": { + "type": "array", + "description": "The list of volumes that can be mounted by containers in this container group.", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the container group. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "events": { + "description": "The events of this container group.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + }, + "state": { + "readOnly": true, + "type": "string", + "description": "The state of the container group. Only valid in response." + } + } + }, + "diagnostics": { + "description": "The diagnostic information for a container group.", + "$ref": "#/definitions/ContainerGroupDiagnostics" + }, + "subnetIds": { + "type": "array", + "description": "The subnet resource IDs for a container group.", + "items": { + "$ref": "#/definitions/ContainerGroupSubnetId" + } + }, + "dnsConfig": { + "description": "The DNS config information for a container group.", + "$ref": "#/definitions/DnsConfiguration" + }, + "sku": { + "description": "The SKU for a container group.", + "$ref": "#/definitions/ContainerGroupSku" + }, + "encryptionProperties": { + "description": "The encryption properties for a container group.", + "$ref": "#/definitions/EncryptionProperties" + }, + "initContainers": { + "type": "array", + "description": "The init containers for a container group.", + "items": { + "$ref": "#/definitions/InitContainerDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "extensions": { + "type": "array", + "description": "extensions used by virtual kubelet", + "items": { + "$ref": "#/definitions/DeploymentExtensionSpec" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "confidentialComputeProperties": { + "description": "The properties for confidential container group", + "$ref": "#/definitions/ConfidentialComputeProperties" + }, + "priority": { + "type": "string", + "description": "The priority of the container group.", + "enum": [ + "Regular", + "Spot" + ], + "x-ms-enum": { + "name": "ContainerGroupPriority", + "modelAsString": true + } + } + }, + "required": [ + "containers", + "osType" + ] + } + } + }, + "DeploymentExtensionSpec": { + "description": "Extension sidecars to be added to the deployment.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the extension." + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Extension specific properties", + "properties": { + "extensionType": { + "type": "string", + "description": "Type of extension to be added." + }, + "version": { + "type": "string", + "description": "Version of the extension being used." + }, + "settings": { + "type": "object", + "description": "Settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "Protected settings for the extension." + } + }, + "required": [ + "extensionType", + "version" + ] + } + }, + "required": [ + "name" + ] + }, + "ContainerGroupIdentity": { + "description": "Identity for the container group.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the container group identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the container group. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "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.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the container group.", + "additionalProperties": { + "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}'.", + "$ref": "#/definitions/UserAssignedIdentities" + } + } + } + }, + "UserAssignedIdentities": { + "type": "object", + "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": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of user assigned identity." + }, + "clientId": { + "readOnly": true, + "type": "string", + "description": "The client id of user assigned identity." + } + } + }, + "ImageRegistryCredential": { + "description": "Image registry credential.", + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + }, + "password": { + "type": "string", + "description": "The password for the private registry.", + "x-ms-secret": true + }, + "identity": { + "type": "string", + "description": "The identity for the private registry." + }, + "identityUrl": { + "type": "string", + "description": "The identity URL for the private registry." + } + }, + "required": [ + "server" + ] + }, + "ContainerGroupDiagnostics": { + "description": "Container group diagnostic information.", + "type": "object", + "properties": { + "logAnalytics": { + "description": "Container group log analytics information.", + "$ref": "#/definitions/LogAnalytics" + } + } + }, + "LogAnalytics": { + "description": "Container group log analytics information.", + "type": "object", + "properties": { + "workspaceId": { + "description": "The workspace id for log analytics", + "type": "string" + }, + "workspaceKey": { + "description": "The workspace key for log analytics", + "type": "string", + "x-ms-secret": true + }, + "logType": { + "type": "string", + "description": "The log type to be used.", + "enum": [ + "ContainerInsights", + "ContainerInstanceLogs" + ], + "x-ms-enum": { + "name": "LogAnalyticsLogType", + "modelAsString": true + } + }, + "metadata": { + "type": "object", + "description": "Metadata for log analytics.", + "additionalProperties": { + "type": "string" + } + }, + "workspaceResourceId": { + "description": "The workspace resource id for log analytics", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ] + }, + "ContainerGroupSubnetId": { + "description": "Container group subnet information.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID of virtual network and subnet.", + "type": "string" + }, + "name": { + "description": "Friendly name for the subnet.", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "IpAddress": { + "description": "IP address for the container group.", + "type": "object", + "properties": { + "ports": { + "type": "array", + "description": "The list of ports exposed on the container group.", + "items": { + "$ref": "#/definitions/Port" + }, + "x-ms-identifiers": [ + "port" + ] + }, + "type": { + "type": "string", + "description": "Specifies if the IP is exposed to the public internet or private VNET.", + "enum": [ + "Public", + "Private" + ], + "x-ms-enum": { + "name": "ContainerGroupIpAddressType", + "modelAsString": true + } + }, + "ip": { + "type": "string", + "description": "The IP exposed to the public internet." + }, + "dnsNameLabel": { + "type": "string", + "description": "The Dns name label for the IP." + }, + "autoGeneratedDomainNameLabelScope": { + "type": "string", + "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.", + "enum": [ + "Unsecure", + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "Noreuse" + ], + "default": "Unsecure", + "x-ms-enum": { + "name": "dnsNameLabelReusePolicy", + "modelAsString": true + } + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN for the IP." + } + }, + "required": [ + "ports", + "type" + ] + }, + "Port": { + "description": "The port exposed on the container group.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerGroupNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "description": "The port number.", + "format": "int32" + } + }, + "required": [ + "port" + ] + }, + "ContainerPort": { + "description": "The port exposed on the container instance.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port number exposed within the container group." + } + }, + "required": [ + "port" + ] + }, + "EnvironmentVariable": { + "description": "The environment variable to set within the container instance.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable." + }, + "value": { + "type": "string", + "description": "The value of the environment variable." + }, + "secureValue": { + "type": "string", + "description": "The value of the secure environment variable.", + "x-ms-secret": true + } + }, + "required": [ + "name" + ] + }, + "OperationListResult": { + "description": "The operation list response that contains all operations for Azure Container Instance service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of operations." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of operations." + } + } + }, + "Operation": { + "description": "An operation for Azure Container Instance service.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "display": { + "description": "The display information of the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the provider of the operation.", + "type": "string" + }, + "resource": { + "type": "string", + "description": "The name of the resource type of the operation." + }, + "operation": { + "description": "The friendly name of the operation.", + "type": "string" + }, + "description": { + "description": "The description of the operation.", + "type": "string" + } + } + }, + "properties": { + "type": "object", + "description": "The additional properties.", + "x-ms-client-flatten": true + }, + "origin": { + "type": "string", + "description": "The intended executor of the operation.", + "enum": [ + "User", + "System" + ], + "x-ms-enum": { + "name": "ContainerInstanceOperationsOrigin", + "modelAsString": true + } + } + }, + "required": [ + "name", + "display" + ] + }, + "UsageListResult": { + "description": "The response containing the usage data", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "The usage data.", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Usage": { + "description": "A single usage result", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the usage result" + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "Unit of the usage result" + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The current usage of the resource" + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "type": "object", + "description": "The name object of the resource", + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource" + } + } + } + } + }, + "ContainerGroupListResult": { + "description": "The container group list response that contains the container group properties.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerGroup" + }, + "description": "The list of container groups." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of container groups." + } + } + }, + "Logs": { + "description": "The logs.", + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The content of the log." + } + } + }, + "ContainerExecRequest": { + "description": "The container exec request.", + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to be executed." + }, + "terminalSize": { + "type": "object", + "description": "The size of the terminal.", + "properties": { + "rows": { + "type": "integer", + "format": "int32", + "description": "The row size of the terminal" + }, + "cols": { + "type": "integer", + "format": "int32", + "description": "The column size of the terminal" + } + } + } + } + }, + "ContainerExecResponse": { + "description": "The information for the container exec command.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the exec websocket." + }, + "password": { + "type": "string", + "description": "The password to start the exec command.", + "x-ms-secret": true + } + } + }, + "ContainerAttachResponse": { + "description": "The information for the output stream from container attach.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the output stream from the attach." + }, + "password": { + "type": "string", + "description": "The password to the output stream from the attach. Send as an Authorization header value when connecting to the websocketUri.", + "x-ms-secret": true + } + } + }, + "HttpHeader": { + "description": "The HTTP header.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header name." + }, + "value": { + "type": "string", + "description": "The header value." + } + } + }, + "DnsConfiguration": { + "description": "DNS configuration for the container group.", + "type": "object", + "required": [ + "nameServers" + ], + "properties": { + "nameServers": { + "description": "The DNS servers for the container group.", + "type": "array", + "items": { + "type": "string" + } + }, + "searchDomains": { + "description": "The DNS search domains for hostname lookup in the container group.", + "type": "string" + }, + "options": { + "description": "The DNS options for the container group.", + "type": "string" + } + } + }, + "Resource": { + "type": "object", + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "zones": { + "description": "The zones for the container group.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "CachedImagesListResult": { + "description": "The response containing cached images.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/cachedImages" + }, + "x-ms-identifiers": [ + "image" + ], + "description": "The list of cached images." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of cached images." + } + } + }, + "cachedImages": { + "description": "The cached image and OS type.", + "type": "object", + "required": [ + "osType", + "image" + ], + "properties": { + "osType": { + "type": "string", + "description": "The OS type of the cached image." + }, + "image": { + "type": "string", + "description": "The cached image name." + } + } + }, + "CapabilitiesListResult": { + "description": "The response containing list of capabilities.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Capabilities" + }, + "x-ms-identifiers": [ + "resourceType", + "location" + ], + "description": "The list of capabilities." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of capabilities." + } + } + }, + "Capabilities": { + "description": "The regional capabilities.", + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The resource type that this capability describes." + }, + "osType": { + "type": "string", + "readOnly": true, + "description": "The OS type that this capability describes." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The resource location." + }, + "ipAddressType": { + "type": "string", + "readOnly": true, + "description": "The ip address type that this capability describes." + }, + "gpu": { + "type": "string", + "readOnly": true, + "description": "The GPU sku that this capability describes." + }, + "capabilities": { + "type": "object", + "readOnly": true, + "description": "The supported capabilities.", + "properties": { + "maxMemoryInGB": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed memory request in GB." + }, + "maxCpu": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed CPU request in cores." + }, + "maxGpuCount": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed GPU count." + } + } + } + } + }, + "ContainerGroupSku": { + "description": "The container group SKU.", + "type": "string", + "enum": [ + "Standard", + "Dedicated", + "Confidential" + ], + "x-ms-enum": { + "name": "ContainerGroupSku", + "modelAsString": true + } + }, + "EncryptionProperties": { + "description": "The container group encryption properties.", + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "The keyvault base url.", + "type": "string" + }, + "keyName": { + "description": "The encryption key name.", + "type": "string" + }, + "keyVersion": { + "description": "The encryption key version.", + "type": "string" + }, + "identity": { + "type": "string", + "description": "The keyvault managed identity." + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "InitContainerDefinition": { + "description": "The init container definition.", + "type": "object", + "properties": { + "name": { + "description": "The name for the init container.", + "type": "string" + }, + "properties": { + "description": "The properties for the init container.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InitContainerPropertiesDefinition" + } + }, + "required": [ + "name", + "properties" + ] + }, + "InitContainerPropertiesDefinition": { + "description": "The init container definition properties.", + "type": "object", + "properties": { + "image": { + "description": "The image of the init container.", + "type": "string" + }, + "command": { + "description": "The command to execute within the init container in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "environmentVariables": { + "description": "The environment variables to set in the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the init container. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the init container has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "The current state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "The previous state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + } + } + }, + "volumeMounts": { + "description": "The volume mounts available to the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "securityContext": { + "description": "The container security properties.", + "$ref": "#/definitions/SecurityContextDefinition" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Container Instance service." + }, + "CloudErrorBody": { + "x-ms-external": true, + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically." + }, + "message": { + "type": "string", + "description": "A message describing the error, intended to be suitable for display in a user interface." + }, + "target": { + "type": "string", + "description": "The target of the particular error. For example, the name of the property in error." + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/CloudErrorBody" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container Instance service." + }, + "NetworkDependenciesResponse": { + "description": "Response for network dependencies, always empty list.", + "type": "array", + "items": { + "type": "string" + } + }, + "ConfidentialComputeProperties": { + "description": "The properties for confidential container group", + "type": "object", + "properties": { + "ccePolicy": { + "type": "string", + "description": "The base64 encoded confidential compute enforcement policy" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "x-ms-parameter-location": "client" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier for the physical azure location.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version", + "x-ms-parameter-location": "client" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ContainerGroupNameParameter": { + "name": "containerGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the container group.", + "x-ms-parameter-location": "method" + }, + "VirtualNetworkNameParameter": { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network.", + "x-ms-parameter-location": "method" + }, + "SubnetNameParameter": { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet.", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CachedImagesList.json new file mode 100644 index 000000000000..7adf314b57a0 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CachedImagesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "osType": "Linux", + "image": "ubuntu:16.04" + }, + { + "osType": "Linux", + "image": "alpine:3.6" + }, + { + "osType": "Windows", + "image": "microsoft/nanoserver:10.0.14393.2485" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CapabilitiesList.json new file mode 100644 index 000000000000..a50f49dff9a8 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/CapabilitiesList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westus", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "containerGroups", + "osType": "Linux", + "location": "West US", + "ipAddressType": "Public", + "gpu": "K80", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 4 + } + }, + { + "resourceType": "containerGroups", + "osType": "Windows", + "location": "West US", + "ipAddressType": "Public", + "gpu": "None", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerAttach.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerAttach.json new file mode 100644 index 000000000000..c677f3b5e7a4 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerAttach.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1" + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerExec.json new file mode 100644 index 000000000000..c7fcaaf7c8df --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerExec.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "containerExecRequest": { + "command": "/bin/bash", + "terminalSize": { + "rows": 12, + "cols": 12 + } + } + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupCreateConfidential.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupCreateConfidential.json new file mode 100644 index 000000000000..8f1b7df4ceda --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupCreateConfidential.json @@ -0,0 +1,182 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "westeurope", + "properties": { + "containers": [ + { + "name": "accdemo", + "properties": { + "command": [], + "environmentVariables": [], + "image": "confiimage", + "ports": [ + { + "port": 8000 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "osType": "Linux", + "sku": "Confidential", + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Confidential", + "provisioningState": "Succeeded", + "containers": [ + { + "name": "accdemo", + "properties": { + "image": "confiimage", + "command": [], + "ports": [ + { + "port": 8000 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "initContainers": [], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "westeurope" + } + }, + "201": { + "body": { + "properties": { + "sku": "Confidential", + "provisioningState": "Succeeded", + "containers": [ + { + "name": "accdemo", + "properties": { + "image": "confiimage", + "command": [], + "ports": [ + { + "port": 8000 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "initContainers": [], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "westeurope" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupEncryptionProperties.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupEncryptionProperties.json new file mode 100644 index 000000000000..bf4abba3aa0d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupEncryptionProperties.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "eastus2", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": {} + } + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net", + "keyName": "test-key", + "keyVersion": "", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net/", + "keyName": "test-key", + "keyVersion": "", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + }, + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + } + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": { + "principalId": "", + "clientId": "" + } + }, + "tenantId": "", + "type": "UserAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net/", + "keyName": "test-key", + "keyVersion": "key version", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + }, + "provisioningState": "Running", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + } + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": { + "principalId": "", + "clientId": "" + } + }, + "tenantId": "", + "type": "UserAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupExtensions.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupExtensions.json new file mode 100644 index 000000000000..e06e5110252d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupExtensions.json @@ -0,0 +1,208 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "eastus2", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Private" + }, + "osType": "Linux", + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + }, + "protectedSettings": { + "kubeConfig": "" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + }, + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupUsage.json new file mode 100644 index 000000000000..ef3040e626c0 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 1, + "limit": 2000, + "name": { + "value": "ContainerGroups", + "localizedValue": "Container Groups" + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreateOrUpdate.json new file mode 100644 index 000000000000..f2b2fdd70051 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreateOrUpdate.json @@ -0,0 +1,316 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "west us", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid", + "workspaceKey": "workspaceKey", + "logType": "ContainerInsights", + "metadata": { + "test-key": "test-metadata-value" + }, + "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/microsoft.operationalinsights/workspaces/workspace" + } + }, + "subnetIds": [ + { + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]" + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure" + }, + "osType": "Linux", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName", + "storageAccountKey": "accountKey" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": { + "secretKey1": "SecretValue1InBase64", + "secretKey2": "SecretValue2InBase64" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid" + } + }, + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ] + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreatePriority.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreatePriority.json new file mode 100644 index 000000000000..8abebd18f27a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsCreatePriority.json @@ -0,0 +1,120 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerGroup": { + "properties": { + "sku": "Standard", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "restartPolicy": "Never", + "osType": "Linux", + "priority": "Spot" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "provisioningState": "Succeeded", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Succeeded" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "provisioningState": "Created", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Created" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsDelete.json new file mode 100644 index 000000000000..e7e6144e6f95 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsDelete.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGetPriority.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGetPriority.json new file mode 100644 index 000000000000..16980f61d8ac --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGetPriority.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "provisioningState": "Succeeded", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Terminated", + "startTime": "2022-11-11T19:33:44.217Z", + "exitCode": 0, + "finishTime": "2022-11-11T19:33:55.565Z", + "detailStatus": "Completed" + }, + "events": [ + { + "count": 2, + "firstTimestamp": "2022-11-11T19:28:22Z", + "lastTimestamp": "2022-11-11T19:32:09Z", + "name": "Pulling", + "message": "pulling image \"alpine@sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870\"", + "type": "Normal" + }, + { + "count": 2, + "firstTimestamp": "2022-11-11T19:32:08Z", + "lastTimestamp": "2022-11-11T19:32:38Z", + "name": "Pulled", + "message": "Successfully pulled image \"alpine@sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870\"", + "type": "Normal" + }, + { + "count": 1, + "firstTimestamp": "2022-11-11T19:33:44Z", + "lastTimestamp": "2022-11-11T19:33:44Z", + "name": "Started", + "message": "Started container", + "type": "Normal" + } + ] + }, + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Succeeded" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Failed.json new file mode 100644 index 000000000000..3bc15c7b72ad --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Failed.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Waiting", + "startTime": "2017-08-08T00:09:10Z", + "detailStatus": "" + }, + "events": [ + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:01Z", + "lastTimestamp": "2017-08-08T00:09:01Z", + "message": "pulling image \"nginx\"", + "name": "Pulling", + "type": "Normal" + }, + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:10Z", + "lastTimestamp": "2017-08-08T00:09:10Z", + "message": "Successfully pulled image \"nginx\"", + "name": "Pulled", + "type": "Normal" + } + ] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "instanceView": { + "events": [ + { + "count": 1, + "firstTimestamp": "2017-10-08T00:19:10Z", + "lastTimestamp": "2017-10-08T00:19:10Z", + "message": "Output: mount error(2): Permission denied", + "name": "FailedMount", + "type": "Normal" + } + ], + "state": "Pending" + }, + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Failed", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Succeeded.json new file mode 100644 index 000000000000..5dfd5a36b146 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsGet_Succeeded.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsList.json new file mode 100644 index 000000000000..408a9113e290 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsList.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Running", + "startTime": "2017-10-17T17:27:21Z", + "detailStatus": "" + }, + "events": [] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsListByResourceGroup.json new file mode 100644 index 000000000000..5154c764c880 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsListByResourceGroup.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsRestart.json new file mode 100644 index 000000000000..ea1f25b35250 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsRestart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStart.json new file mode 100644 index 000000000000..ba70e53e1454 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStop.json new file mode 100644 index 000000000000..ea1f25b35250 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsStop.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsUpdate.json new file mode 100644 index 000000000000..089ad942e900 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerGroupsUpdate.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demoResource", + "containerGroupName": "demo1", + "Resource": { + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + } + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerListLogs.json new file mode 100644 index 000000000000..90b0507634cd --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/ContainerListLogs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "tail": 10 + }, + "responses": { + "200": { + "body": { + "content": "log content" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/OperationsList.json new file mode 100644 index 000000000000..57267e685a7c --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/OperationsList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2023-05-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerInstance/containerGroups/read", + "display": { + "provider": "Microsoft Container Instance", + "resource": "Container Group", + "operation": "Get Container Groups", + "description": "Get all container goups." + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/SubnetServiceAssociationLinkDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/SubnetServiceAssociationLinkDelete.json new file mode 100644 index 000000000000..f6e1d3797c06 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2023-05-01/examples/SubnetServiceAssociationLinkDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2023-05-01", + "resourceGroupName": "demo", + "virtualNetworkName": "demo2", + "subnetName": "demo3" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md index 9360ae46a8e7..d40615a553c4 100644 --- a/specification/containerinstance/resource-manager/readme.md +++ b/specification/containerinstance/resource-manager/readme.md @@ -26,9 +26,17 @@ These are the global settings for the ContainerInstance API. ``` yaml openapi-type: arm -tag: package-preview-2023-02 +tag: package-2023-05 ``` +### Tag: package-2023-05 + +These settings apply only when `--tag=package-2023-05` is specified on the command line. + +```yaml $(tag) == 'package-2023-05' +input-file: + - Microsoft.ContainerInstance/stable/2023-05-01/containerInstance.json +``` ### Tag: package-preview-2023-02 @@ -38,6 +46,7 @@ These settings apply only when `--tag=package-preview-2023-02` is specified on t input-file: - Microsoft.ContainerInstance/preview/2023-02-01-preview/containerInstance.json ``` + ### Tag: package-preview-2022-10 These settings apply only when `--tag=package-preview-2022-10` is specified on the command line.