{ "swagger": "2.0", "info": { "version": "2022-01-01-preview", "title": "ContainerApps API Client" }, "host": "management.azure.com", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/subscriptions/{subscriptionId}/providers/Microsoft.App/containerApps": { "get": { "tags": [ "ContainerApps" ], "summary": "Get the Container Apps in a given subscription.", "operationId": "ContainerApps_ListBySubscription", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ContainerAppCollection" } }, "default": { "description": "Error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "List Container Apps by subscription": { "$ref": "./examples/ContainerApps_ListBySubscription.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps": { "get": { "tags": [ "ContainerApps" ], "summary": "Get the Container Apps in a given resource group.", "operationId": "ContainerApps_ListByResourceGroup", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ContainerAppCollection" } }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "List Container Apps by resource group": { "$ref": "./examples/ContainerApps_ListByResourceGroup.json" } }, "x-ms-pageable": { "nextLinkName": "nextLink" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}": { "get": { "tags": [ "ContainerApps" ], "summary": "Get the properties of a Container App.", "operationId": "ContainerApps_Get", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "404": { "description": "Not found.", "x-ms-error-response": true }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "Get Container App": { "$ref": "./examples/ContainerApps_Get.json" } } }, "put": { "tags": [ "ContainerApps" ], "summary": "Create or update a Container App.", "description": "Create or update a Container App.", "operationId": "ContainerApps_CreateOrUpdate", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" }, { "name": "containerAppEnvelope", "in": "body", "description": "Properties used to create a container app", "required": true, "schema": { "$ref": "#/definitions/ContainerApp" } }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "No change performed on the Container App.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "201": { "description": "Container App create or update has been started.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "Create or Update Container App": { "$ref": "./examples/ContainerApps_CreateOrUpdate.json" } }, "x-ms-long-running-operation": true }, "delete": { "tags": [ "ContainerApps" ], "summary": "Delete a Container App.", "description": "Delete a Container App.", "operationId": "ContainerApps_Delete", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Container App deleted successfully." }, "202": { "description": "Delete operation is in progress." }, "204": { "description": "Container App does not exist." }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "Delete Container App": { "$ref": "./examples/ContainerApps_Delete.json" } }, "x-ms-long-running-operation": true }, "patch": { "tags": [ "ContainerApps" ], "summary": "Update properties of a Container App", "description": "Patches a Container App. Currently only patching of tags is supported", "operationId": "ContainerApps_Update", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "name", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" }, { "name": "containerAppEnvelope", "in": "body", "required": true, "description": "Properties of a container app that need to be updated", "schema": { "$ref": "#/definitions/ContainerAppPatch" } }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Container App updated successfully.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "Patch Container App": { "$ref": "./examples/ContainerApps_Patch.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/listCustomHostNameAnalysis": { "post": { "tags": [ "ContainerApps" ], "summary": "Analyzes a custom hostname for a Container App", "operationId": "ContainerApps_ListCustomHostNameAnalysis", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "containerAppName", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" }, { "name": "customHostname", "in": "query", "description": "Custom hostname.", "type": "string" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CustomHostnameAnalysisResult" } }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "Analyze Custom Hostname": { "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json" }, "Analyse Custom Hostname Error Response": { "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysisErrorResponse.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{name}/listSecrets": { "post": { "tags": [ "ContainerApps" ], "summary": "List secrets for a container app", "operationId": "ContainerApps_ListSecrets", "parameters": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" }, { "name": "name", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/SecretsCollection" } }, "default": { "description": "Common error response.", "schema": { "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" } } }, "x-ms-examples": { "List Container Apps Secrets": { "$ref": "./examples/ContainerApps_ListSecrets.json" } } } } }, "definitions": { "Configuration": { "description": "Non versioned Container App configuration properties that define the mutable settings of a Container app", "type": "object", "properties": { "secrets": { "description": "Collection of secrets used by a Container app", "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/Secret" }, "x-ms-identifiers": [ "name" ] }, "activeRevisionsMode": { "description": "ActiveRevisionsMode controls how active revisions are handled for the Container app:\nMultiple: multiple revisions can be active. If no value if provided, this is the defaultSingle: Only one revision can be active at a time. Revision weights can not be used in this mode", "enum": [ "Multiple", "Single" ], "type": "string", "x-ms-enum": { "name": "ActiveRevisionsMode", "modelAsString": true } }, "ingress": { "$ref": "#/definitions/Ingress", "description": "Ingress configurations." }, "registries": { "description": "Collection of private container registry credentials for containers used by the Container app", "type": "array", "items": { "$ref": "#/definitions/RegistryCredentials" }, "x-ms-identifiers": [ "server" ] }, "dapr": { "$ref": "#/definitions/Dapr", "description": "Dapr configuration for the Container App." } } }, "ContainerApp": { "description": "Container App.", "type": "object", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" } ], "properties": { "identity": { "description": "managed identities for the Container App to interact with other Azure services without maintaining any secrets or credentials in code.", "$ref": "../../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" }, "properties": { "description": "ContainerApp resource specific properties", "type": "object", "properties": { "provisioningState": { "description": "Provisioning state of the Container App.", "enum": [ "InProgress", "Succeeded", "Failed", "Canceled", "Deleting" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "ContainerAppProvisioningState", "modelAsString": true } }, "managedEnvironmentId": { "description": "Resource ID of the Container App's environment.", "type": "string", "x-ms-mutability": [ "create", "read" ] }, "latestRevisionName": { "description": "Name of the latest revision of the Container App.", "type": "string", "readOnly": true }, "latestRevisionFqdn": { "description": "Fully Qualified Domain Name of the latest revision of the Container App.", "type": "string", "readOnly": true }, "customDomainVerificationId": { "description": "Id used to verify domain name ownership", "type": "string", "readOnly": true }, "configuration": { "$ref": "#/definitions/Configuration", "description": "Non versioned Container App configuration properties." }, "template": { "$ref": "./CommonDefinitions.json#/definitions/Template", "description": "Container App versioned application definition." }, "outboundIpAddresses": { "description": "Outbound IP Addresses for container app.", "type": "array", "items": { "type": "string" }, "readOnly": true } }, "x-ms-client-flatten": true } } }, "ContainerAppCollection": { "description": "Container App collection ARM resource.", "required": [ "value" ], "type": "object", "properties": { "value": { "description": "Collection of resources.", "type": "array", "items": { "$ref": "#/definitions/ContainerApp" } }, "nextLink": { "description": "Link to next page of resources.", "type": "string", "readOnly": true } } }, "ContainerAppPatch": { "description": "Container App Patch.", "type": "object", "properties": { "tags": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Application-specific metadata in the form of key-value pairs." } } }, "Dapr": { "description": "Container App Dapr configuration.", "type": "object", "properties": { "enabled": { "description": "Boolean indicating if the Dapr side car is enabled", "type": "boolean" }, "appId": { "description": "Dapr application identifier", "type": "string" }, "appProtocol": { "description": "Tells Dapr which protocol your application is using. Valid options are http and grpc. Default is http", "enum": [ "http", "grpc" ], "type": "string", "x-ms-enum": { "name": "appProtocol", "modelAsString": true } }, "appPort": { "format": "int32", "description": "Tells Dapr which port your application is listening on", "type": "integer" } } }, "Ingress": { "description": "Container App Ingress configuration.", "type": "object", "properties": { "fqdn": { "description": "Hostname.", "type": "string", "readOnly": true }, "external": { "description": "Bool indicating if app exposes an external http endpoint", "default": false, "type": "boolean" }, "targetPort": { "format": "int32", "description": "Target Port in containers for traffic from ingress", "type": "integer" }, "transport": { "description": "Ingress transport protocol", "enum": [ "auto", "http", "http2" ], "type": "string", "x-ms-enum": { "name": "IngressTransportMethod", "modelAsString": true } }, "traffic": { "description": "Traffic weights for app's revisions", "type": "array", "items": { "$ref": "#/definitions/TrafficWeight" }, "x-ms-identifiers": [ "revisionName" ] }, "customDomains": { "description": "custom domain bindings for Container Apps' hostnames.", "type": "array", "items": { "$ref": "#/definitions/CustomDomain" }, "x-ms-identifiers": [ "name" ] }, "allowInsecure": { "description": "Bool indicating if HTTP connections to is allowed. If set to false HTTP connections are automatically redirected to HTTPS connections", "type": "boolean" } } }, "RegistryCredentials": { "description": "Container App Private Registry", "type": "object", "properties": { "server": { "description": "Container Registry Server", "type": "string" }, "username": { "description": "Container Registry Username", "type": "string" }, "passwordSecretRef": { "description": "The name of the Secret that contains the registry login password", "type": "string" } } }, "SecretsCollection": { "description": "Container App Secrets Collection ARM resource.", "required": [ "value" ], "type": "object", "properties": { "value": { "description": "Collection of resources.", "type": "array", "items": { "$ref": "#/definitions/ContainerAppSecret" }, "x-ms-identifiers": [ "name" ] } } }, "ContainerAppSecret": { "description": "Container App Secret.", "type": "object", "properties": { "name": { "description": "Secret Name.", "type": "string", "readOnly": true }, "value": { "description": "Secret Value.", "type": "string", "x-ms-secret": true, "readOnly": true } } }, "TrafficWeight": { "description": "Traffic weight assigned to a revision", "type": "object", "properties": { "revisionName": { "description": "Name of a revision", "type": "string" }, "weight": { "format": "int32", "description": "Traffic weight assigned to a revision", "type": "integer" }, "latestRevision": { "description": "Indicates that the traffic weight belongs to a latest stable revision", "default": false, "type": "boolean" } } }, "CustomDomain": { "description": "Custom Domain of a Container App", "type": "object", "required": [ "name" ], "properties": { "name": { "description": "Hostname.", "type": "string" }, "bindingType": { "description": "Custom Domain binding type.", "enum": [ "Disabled", "SniEnabled" ], "type": "string", "x-ms-enum": { "name": "bindingType", "modelAsString": true } }, "certificateId": { "description": "Resource Id of the Certificate to be bound to this hostname.", "type": "string" } } }, "CustomHostnameAnalysisResult": { "description": "Custom domain analysis.", "type": "object", "properties": { "hostName": { "description": "Host name that was analyzed", "type": "string", "readOnly": true }, "isHostnameAlreadyVerified": { "description": "true if hostname is already verified; otherwise, false.", "type": "boolean", "readOnly": true }, "customDomainVerificationTest": { "description": "DNS verification test result.", "enum": [ "Passed", "Failed", "Skipped" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "DnsVerificationTestResult", "modelAsString": false } }, "customDomainVerificationFailureInfo": { "description": "Raw failure information if DNS verification fails.", "type": "object", "properties": { "code": { "description": "Standardized string to programmatically identify the error.", "type": "string", "readOnly": true }, "message": { "description": "Detailed error description and debugging information.", "type": "string", "readOnly": true }, "target": { "description": "Detailed error description and debugging information.", "type": "string", "readOnly": true }, "details": { "type": "array", "description": "Details or the error", "items": { "description": "Detailed errors.", "type": "object", "properties": { "code": { "description": "Standardized string to programmatically identify the error.", "type": "string", "readOnly": true }, "message": { "description": "Detailed error description and debugging information.", "type": "string", "readOnly": true }, "target": { "description": "Detailed error description and debugging information.", "type": "string", "readOnly": true } }, "readOnly": true }, "x-ms-identifiers": [ "code" ] } }, "readOnly": true }, "hasConflictOnManagedEnvironment": { "description": "true if there is a conflict on the Container App's managed environment; otherwise, false.", "type": "boolean", "readOnly": true }, "conflictWithEnvironmentCustomDomain": { "description": "true if there is a conflict on the Container App's managed environment level custom domain; otherwise, false.", "type": "boolean", "readOnly": true }, "conflictingContainerAppResourceId": { "description": "Name of the conflicting Container App on the Managed Environment if it's within the same subscription.", "type": "string", "readOnly": true }, "cNameRecords": { "description": "CName records visible for this hostname.", "type": "array", "items": { "type": "string" } }, "txtRecords": { "description": "TXT records visible for this hostname.", "type": "array", "items": { "type": "string" } }, "aRecords": { "description": "A records visible for this hostname.", "type": "array", "items": { "type": "string" } }, "alternateCNameRecords": { "description": "Alternate CName records visible for this hostname.", "type": "array", "items": { "type": "string" } }, "alternateTxtRecords": { "description": "Alternate TXT records visible for this hostname.", "type": "array", "items": { "type": "string" } } }, "x-ms-client-flatten": true } }, "securityDefinitions": { "azure_auth": { "type": "oauth2", "description": "Azure Active Directory OAuth2 Flow", "flow": "implicit", "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", "scopes": { "user_impersonation": "impersonate your user account" } } }, "security": [ { "azure_auth": [ "user_impersonation" ] } ] }