{
"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:\n- Multiple: multiple revisions can be active. If no value if provided, this is the default
- Single: 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"
]
}
]
}