{
  "openapi": "3.0.0",
  "info": {
    "title": "ContainerInstanceManagementClient",
    "version": "2018-02-01-preview",
    "x-jentic-source-url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json"
  },
  "servers": [
    {
      "url": "https://management.azure.com/"
    }
  ],
  "paths": {
    "/providers/Microsoft.ContainerInstance/operations": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "tags": [
          "Operations"
        ],
        "description": "List the operations for Azure Container Instance service.",
        "operationId": "Operations_List",
        "x-ms-examples": {
          "OperationsList": {
            "$ref": "./examples/OperationsList.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroupListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "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.",
        "operationId": "ContainerGroups_List",
        "summary": "Get a list of container groups in the specified subscription.",
        "x-ms-examples": {
          "ContainerGroupsList": {
            "$ref": "./examples/ContainerGroupsList.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/LocationParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "description": "Get the usage for a subscription",
        "operationId": "ContainerGroupUsage_List",
        "x-ms-examples": {
          "ContainerUsage": {
            "$ref": "./examples/ContainerGroupUsage.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroupListResult"
                }
              }
            },
            "description": "OK"
          }
        },
        "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.",
        "operationId": "ContainerGroups_ListByResourceGroup",
        "summary": "Get a list of container groups in the specified subscription and resource group.",
        "x-ms-examples": {
          "ContainerGroupsListByResourceGroup": {
            "$ref": "./examples/ContainerGroupsListByResourceGroup.json"
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": {
      "delete": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroup"
                }
              }
            },
            "description": "OK"
          },
          "204": {
            "description": "No Content - the specified container group was not found."
          }
        },
        "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.",
        "operationId": "ContainerGroups_Delete",
        "summary": "Delete the specified container group.",
        "x-ms-examples": {
          "ContainerGroupsDelete": {
            "$ref": "./examples/ContainerGroupsDelete.json"
          }
        }
      },
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroup"
                }
              }
            },
            "description": "OK"
          }
        },
        "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.",
        "operationId": "ContainerGroups_Get",
        "summary": "Get the properties of the specified container group.",
        "x-ms-examples": {
          "ContainerGroupsGet_Failed": {
            "$ref": "./examples/ContainerGroupsGet_Failed.json"
          },
          "ContainerGroupsGet_Succeeded": {
            "$ref": "./examples/ContainerGroupsGet_Succeeded.json"
          }
        }
      },
      "patch": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroup"
                }
              }
            },
            "description": "OK"
          }
        },
        "description": "Updates container group tags with specified values.",
        "operationId": "ContainerGroups_Update",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Resource"
              }
            }
          },
          "description": "The container group resource with just the tags to be updated.",
          "required": true
        },
        "summary": "Update container groups.",
        "x-ms-examples": {
          "ContainerGroupsUpdate": {
            "$ref": "./examples/ContainerGroupsUpdate.json"
          }
        }
      },
      "put": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroup"
                }
              }
            },
            "description": "OK"
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerGroup"
                }
              }
            },
            "description": "Created - the container group is created."
          }
        },
        "description": "Create or update container groups with specified configurations.",
        "operationId": "ContainerGroups_CreateOrUpdate",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContainerGroup"
              }
            }
          },
          "description": "The properties of the container group to be created or updated.",
          "required": true
        },
        "summary": "Create or update container groups.",
        "x-ms-examples": {
          "ContainerGroupsCreateOrUpdate": {
            "$ref": "./examples/ContainerGroupsCreateOrUpdate.json"
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": {
      "post": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          },
          {
            "description": "The name of the container instance.",
            "in": "path",
            "name": "containerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContainerExecResponse"
                }
              }
            },
            "description": "OK"
          }
        },
        "description": "Starts the exec command for a specified container instance in a specified resource group and container group.",
        "operationId": "StartContainer_LaunchExec",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContainerExecRequest"
              }
            }
          },
          "description": "The request for the exec command.",
          "required": true
        },
        "summary": "Starts the exec command for a specific container instance.",
        "x-ms-examples": {
          "ContainerExecStart": {
            "$ref": "./examples/ContainerExecStart.json"
          }
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": {
      "get": {
        "parameters": [
          {
            "$ref": "#/components/parameters/SubscriptionIdParameter"
          },
          {
            "$ref": "#/components/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/components/parameters/ResourceGroupNameParameter"
          },
          {
            "$ref": "#/components/parameters/ContainerGroupNameParameter"
          },
          {
            "description": "The name of the container instance.",
            "in": "path",
            "name": "containerName",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "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.",
            "in": "query",
            "name": "tail",
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Logs"
                }
              }
            },
            "description": "OK"
          }
        },
        "description": "Get the logs for a specified container instance in a specified resource group and container group.",
        "operationId": "ContainerLogs_List",
        "summary": "Get the logs for a specified container instance.",
        "x-ms-examples": {
          "ContainerLogsList": {
            "$ref": "./examples/ContainerLogsList.json"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "ApiVersionParameter": {
        "description": "Client API version",
        "in": "query",
        "name": "api-version",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "client"
      },
      "ContainerGroupNameParameter": {
        "description": "The name of the container group.",
        "in": "path",
        "name": "containerGroupName",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "LocationParameter": {
        "description": "The identifier for the physical azure location.",
        "in": "path",
        "name": "location",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "OperationIdParameter": {
        "description": "The operation Id.",
        "in": "path",
        "name": "operationId",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "ResourceGroupNameParameter": {
        "description": "The name of the resource group.",
        "in": "path",
        "name": "resourceGroupName",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "method"
      },
      "SubscriptionIdParameter": {
        "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
        "in": "path",
        "name": "subscriptionId",
        "required": true,
        "schema": {
          "type": "string"
        },
        "x-ms-parameter-location": "client"
      }
    },
    "schemas": {
      "AzureFileVolume": {
        "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
        "properties": {
          "readOnly": {
            "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.",
            "type": "boolean"
          },
          "shareName": {
            "description": "The name of the Azure File share to be mounted as a volume.",
            "type": "string"
          },
          "storageAccountKey": {
            "description": "The storage account access key used to access the Azure File share.",
            "type": "string"
          },
          "storageAccountName": {
            "description": "The name of the storage account that contains the Azure File share.",
            "type": "string"
          }
        },
        "required": [
          "shareName",
          "storageAccountName"
        ],
        "type": "object"
      },
      "Container": {
        "description": "A container instance.",
        "properties": {
          "name": {
            "description": "The user-provided name of the container instance.",
            "type": "string"
          },
          "properties": {
            "$ref": "#/components/schemas/ContainerProperties",
            "description": "The properties of the container instance.",
            "x-ms-client-flatten": true
          }
        },
        "required": [
          "properties",
          "name"
        ],
        "type": "object"
      },
      "ContainerExecRequest": {
        "description": "The start container exec request.",
        "properties": {
          "command": {
            "description": "The command to be executed.",
            "type": "string"
          },
          "terminalSize": {
            "description": "The size of the terminal.",
            "properties": {
              "cols": {
                "description": "The column size of the terminal",
                "type": "integer"
              },
              "rows": {
                "description": "The row size of the terminal",
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "ContainerExecResponse": {
        "description": "The information for the container exec command.",
        "properties": {
          "password": {
            "description": "The password to start the exec command.",
            "type": "string"
          },
          "webSocketUri": {
            "description": "The uri for the exec websocket.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ContainerGroup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Resource"
          },
          {
            "properties": {
              "properties": {
                "properties": {
                  "containers": {
                    "description": "The containers within the container group.",
                    "items": {
                      "$ref": "#/components/schemas/Container"
                    },
                    "type": "array"
                  },
                  "imageRegistryCredentials": {
                    "description": "The image registry credentials by which the container group is created from.",
                    "items": {
                      "$ref": "#/components/schemas/ImageRegistryCredential"
                    },
                    "type": "array"
                  },
                  "instanceView": {
                    "description": "The instance view of the container group. Only valid in response.",
                    "properties": {
                      "events": {
                        "description": "The events of this container group.",
                        "items": {
                          "$ref": "#/components/schemas/Event"
                        },
                        "readOnly": true,
                        "type": "array"
                      },
                      "state": {
                        "description": "The state of the container group. Only valid in response.",
                        "readOnly": true,
                        "type": "string"
                      }
                    },
                    "readOnly": true,
                    "type": "object"
                  },
                  "ipAddress": {
                    "$ref": "#/components/schemas/IpAddress",
                    "description": "The IP address type of the container group."
                  },
                  "osType": {
                    "description": "The operating system type required by the containers in the container group.",
                    "enum": [
                      "Windows",
                      "Linux"
                    ],
                    "type": "string",
                    "x-ms-enum": {
                      "modelAsString": true,
                      "name": "OperatingSystemTypes"
                    }
                  },
                  "provisioningState": {
                    "description": "The provisioning state of the container group. This only appears in the response.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "restartPolicy": {
                    "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n",
                    "enum": [
                      "Always",
                      "OnFailure",
                      "Never"
                    ],
                    "type": "string",
                    "x-ms-enum": {
                      "modelAsString": true,
                      "name": "ContainerGroupRestartPolicy"
                    }
                  },
                  "volumes": {
                    "description": "The list of volumes that can be mounted by containers in this container group.",
                    "items": {
                      "$ref": "#/components/schemas/Volume"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "containers",
                  "osType"
                ],
                "type": "object",
                "x-ms-client-flatten": true
              }
            },
            "required": [
              "properties"
            ],
            "type": "object"
          }
        ],
        "description": "A container group."
      },
      "ContainerGroupListResult": {
        "description": "The container group list response that contains the container group properties.",
        "properties": {
          "nextLink": {
            "description": "The URI to fetch the next page of container groups.",
            "type": "string"
          },
          "value": {
            "description": "The list of container groups.",
            "items": {
              "$ref": "#/components/schemas/ContainerGroup"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ContainerPort": {
        "description": "The port exposed on the container instance.",
        "properties": {
          "port": {
            "description": "The port number exposed within the container group.",
            "format": "int32",
            "type": "integer"
          },
          "protocol": {
            "description": "The protocol associated with the port.",
            "enum": [
              "TCP",
              "UDP"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ContainerNetworkProtocol"
            }
          }
        },
        "required": [
          "port"
        ],
        "type": "object"
      },
      "ContainerProperties": {
        "description": "The container instance properties.",
        "properties": {
          "command": {
            "description": "The commands to execute within the container instance in exec form.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "environmentVariables": {
            "description": "The environment variables to set in the container instance.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentVariable"
            },
            "type": "array"
          },
          "image": {
            "description": "The name of the image used to create the container instance.",
            "type": "string"
          },
          "instanceView": {
            "description": "The instance view of the container instance. Only valid in response.",
            "properties": {
              "currentState": {
                "$ref": "#/components/schemas/ContainerState",
                "description": "Current container instance state.",
                "readOnly": true
              },
              "events": {
                "description": "The events of the container instance.",
                "items": {
                  "$ref": "#/components/schemas/Event"
                },
                "readOnly": true,
                "type": "array"
              },
              "previousState": {
                "$ref": "#/components/schemas/ContainerState",
                "description": "Previous container instance state.",
                "readOnly": true
              },
              "restartCount": {
                "description": "The number of times that the container instance has been restarted.",
                "readOnly": true,
                "type": "integer"
              }
            },
            "readOnly": true,
            "type": "object"
          },
          "ports": {
            "description": "The exposed ports on the container instance.",
            "items": {
              "$ref": "#/components/schemas/ContainerPort"
            },
            "type": "array"
          },
          "resources": {
            "$ref": "#/components/schemas/ResourceRequirements",
            "description": "The resource requirements of the container instance."
          },
          "volumeMounts": {
            "description": "The volume mounts available to the container instance.",
            "items": {
              "$ref": "#/components/schemas/VolumeMount"
            },
            "type": "array"
          }
        },
        "required": [
          "image",
          "resources"
        ],
        "type": "object"
      },
      "ContainerState": {
        "description": "The container instance state.",
        "properties": {
          "detailStatus": {
            "description": "The human-readable status of the container instance state.",
            "type": "string"
          },
          "exitCode": {
            "description": "The container instance exit codes correspond to those from the `docker run` command.",
            "type": "integer"
          },
          "finishTime": {
            "description": "The date-time when the container instance state finished.",
            "format": "date-time",
            "type": "string"
          },
          "startTime": {
            "description": "The date-time when the container instance state started.",
            "format": "date-time",
            "type": "string"
          },
          "state": {
            "description": "The state of the container instance.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "EmptyDirVolume": {
        "description": "The empty directory volume.",
        "properties": {},
        "type": "object"
      },
      "EnvironmentVariable": {
        "description": "The environment variable to set within the container instance.",
        "properties": {
          "name": {
            "description": "The name of the environment variable.",
            "type": "string"
          },
          "value": {
            "description": "The value of the environment variable.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "Event": {
        "description": "A container group or container instance event.",
        "properties": {
          "count": {
            "description": "The count of the event.",
            "type": "integer"
          },
          "firstTimestamp": {
            "description": "The date-time of the earliest logged event.",
            "format": "date-time",
            "type": "string"
          },
          "lastTimestamp": {
            "description": "The date-time of the latest logged event.",
            "format": "date-time",
            "type": "string"
          },
          "message": {
            "description": "The event message.",
            "type": "string"
          },
          "name": {
            "description": "The event name.",
            "type": "string"
          },
          "type": {
            "description": "The event type.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GitRepoVolume": {
        "description": "Represents a volume that is populated with the contents of a git repository",
        "properties": {
          "directory": {
            "description": "Target directory name. Must not contain or start with '..'.  If '.' is supplied, the volume directory will be the git repository.  Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
            "type": "string"
          },
          "repository": {
            "description": "Repository URL",
            "type": "string"
          },
          "revision": {
            "description": "Commit hash for the specified revision.",
            "type": "string"
          }
        },
        "required": [
          "repository"
        ],
        "type": "object"
      },
      "ImageRegistryCredential": {
        "description": "Image registry credential.",
        "properties": {
          "password": {
            "description": "The password for the private registry.",
            "type": "string"
          },
          "server": {
            "description": "The Docker image registry server without a protocol such as \"http\" and \"https\".",
            "type": "string"
          },
          "username": {
            "description": "The username for the private registry.",
            "type": "string"
          }
        },
        "required": [
          "server",
          "username"
        ],
        "type": "object"
      },
      "IpAddress": {
        "description": "IP address for the container group.",
        "properties": {
          "dnsNameLabel": {
            "description": "The Dns name label for the IP.",
            "type": "string"
          },
          "fqdn": {
            "description": "The FQDN for the IP.",
            "readOnly": true,
            "type": "string"
          },
          "ip": {
            "description": "The IP exposed to the public internet.",
            "type": "string"
          },
          "ports": {
            "description": "The list of ports exposed on the container group.",
            "items": {
              "$ref": "#/components/schemas/Port"
            },
            "type": "array"
          },
          "type": {
            "description": "Specifies if the IP is exposed to the public internet.",
            "enum": [
              "Public"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ContainerGroupIpAddressType"
            }
          }
        },
        "required": [
          "ports",
          "type"
        ],
        "type": "object"
      },
      "Logs": {
        "description": "The logs.",
        "properties": {
          "content": {
            "description": "The content of the log.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Operation": {
        "description": "An operation for Azure Container Instance service.",
        "properties": {
          "display": {
            "description": "The display information of the operation.",
            "properties": {
              "description": {
                "description": "The description of the operation.",
                "type": "string"
              },
              "operation": {
                "description": "The friendly name of the operation.",
                "type": "string"
              },
              "provider": {
                "description": "The name of the provider of the operation.",
                "type": "string"
              },
              "resource": {
                "description": "The name of the resource type of the operation.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "name": {
            "description": "The name of the operation.",
            "type": "string"
          },
          "origin": {
            "description": "The intended executor of the operation.",
            "enum": [
              "User",
              "System"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ContainerInstanceOperationsOrigin"
            }
          }
        },
        "required": [
          "name",
          "display"
        ],
        "type": "object"
      },
      "OperationListResult": {
        "description": "The operation list response that contains all operations for Azure Container Instance service.",
        "properties": {
          "nextLink": {
            "description": "The URI to fetch the next page of operations.",
            "type": "string"
          },
          "value": {
            "description": "The list of operations.",
            "items": {
              "$ref": "#/components/schemas/Operation"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Port": {
        "description": "The port exposed on the container group.",
        "properties": {
          "port": {
            "description": "The port number.",
            "format": "int32",
            "type": "integer"
          },
          "protocol": {
            "description": "The protocol associated with the port.",
            "enum": [
              "TCP",
              "UDP"
            ],
            "type": "string",
            "x-ms-enum": {
              "modelAsString": true,
              "name": "ContainerGroupNetworkProtocol"
            }
          }
        },
        "required": [
          "port"
        ],
        "type": "object"
      },
      "Resource": {
        "description": "The Resource model definition.",
        "properties": {
          "tags": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The resource tags.",
            "type": "object"
          },
          "id": {
            "description": "The resource id.",
            "readOnly": true,
            "type": "string"
          },
          "location": {
            "description": "The resource location.",
            "type": "string"
          },
          "name": {
            "description": "The resource name.",
            "readOnly": true,
            "type": "string"
          },
          "type": {
            "description": "The resource type.",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object",
        "x-ms-azure-resource": true
      },
      "ResourceLimits": {
        "description": "The resource limits.",
        "properties": {
          "cpu": {
            "description": "The CPU limit of this container instance.",
            "format": "double",
            "type": "number"
          },
          "memoryInGB": {
            "description": "The memory limit in GB of this container instance.",
            "format": "double",
            "type": "number"
          }
        },
        "type": "object"
      },
      "ResourceRequests": {
        "description": "The resource requests.",
        "properties": {
          "cpu": {
            "description": "The CPU request of this container instance.",
            "format": "double",
            "type": "number"
          },
          "memoryInGB": {
            "description": "The memory request in GB of this container instance.",
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "memoryInGB",
          "cpu"
        ],
        "type": "object"
      },
      "ResourceRequirements": {
        "description": "The resource requirements.",
        "properties": {
          "limits": {
            "$ref": "#/components/schemas/ResourceLimits",
            "description": "The resource limits of this container instance."
          },
          "requests": {
            "$ref": "#/components/schemas/ResourceRequests",
            "description": "The resource requests of this container instance."
          }
        },
        "required": [
          "requests"
        ],
        "type": "object"
      },
      "SecretVolume": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "The secret volume.",
        "type": "object"
      },
      "Usage": {
        "description": "A single usage result",
        "properties": {
          "currentValue": {
            "description": "The current usage of the resource",
            "readOnly": true,
            "type": "integer"
          },
          "limit": {
            "description": "The maximum permitted usage of the resource.",
            "readOnly": true,
            "type": "integer"
          },
          "name": {
            "description": "The name object of the resource",
            "properties": {
              "localizedValue": {
                "description": "The localized name of the resource",
                "readOnly": true,
                "type": "string"
              },
              "value": {
                "description": "The name of the resource",
                "readOnly": true,
                "type": "string"
              }
            },
            "readOnly": true,
            "type": "object"
          },
          "unit": {
            "description": "Unit of the usage result",
            "readOnly": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "UsageListResult": {
        "description": "The response containing the usage data",
        "properties": {
          "value": {
            "items": {
              "$ref": "#/components/schemas/Usage"
            },
            "readOnly": true,
            "type": "array"
          }
        },
        "type": "object"
      },
      "Volume": {
        "description": "The properties of the volume.",
        "properties": {
          "azureFile": {
            "$ref": "#/components/schemas/AzureFileVolume",
            "description": "The Azure File volume."
          },
          "emptyDir": {
            "$ref": "#/components/schemas/EmptyDirVolume",
            "description": "The empty directory volume."
          },
          "gitRepo": {
            "$ref": "#/components/schemas/GitRepoVolume",
            "description": "The git repo volume."
          },
          "name": {
            "description": "The name of the volume.",
            "type": "string"
          },
          "secret": {
            "$ref": "#/components/schemas/SecretVolume",
            "description": "The secret volume."
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "VolumeMount": {
        "description": "The properties of the volume mount.",
        "properties": {
          "mountPath": {
            "description": "The path within the container where the volume should be mounted. Must not contain colon (:).",
            "type": "string"
          },
          "name": {
            "description": "The name of the volume mount.",
            "type": "string"
          },
          "readOnly": {
            "description": "The flag indicating whether the volume mount is read-only.",
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "mountPath"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "azure_auth": {
        "description": "Azure Active Directory OAuth2 Flow",
        "flows": {
          "implicit": {
            "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
            "scopes": {
              "user_impersonation": "Impersonate your user account"
            }
          }
        },
        "type": "oauth2"
      }
    }
  },
  "security": [
    {
      "azure_auth": [
        "user_impersonation"
      ]
    }
  ]
}