{ "swagger": "2.0", "info": { "version": "2025-07-01", "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "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/{containerAppName}": { "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": "containerAppName", "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "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": "containerAppName", "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Create or Update Container App": { "$ref": "./examples/ContainerApps_CreateOrUpdate.json" }, "Create or Update Tcp App": { "$ref": "./examples/ContainerApps_TcpApp_CreateOrUpdate.json" }, "Create or Update ManagedBy App": { "$ref": "./examples/ContainerApps_ManagedBy_CreateOrUpdate.json" }, "Create or Update WorkflowApp Kind": { "$ref": "./examples/ContainerApps_Kind_WorkflowApp_CreateOrUpdate.json" }, "Create or Update FunctionApp Kind": { "$ref": "./examples/ContainerApps_Kind_FunctionApp_CreateOrUpdate.json" } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "azure-async-operation" } }, "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": "containerAppName", "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.", "headers": { "Location": { "type": "string" } } }, "204": { "description": "Container App does not exist." }, "default": { "description": "Common error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Delete Container App": { "$ref": "./examples/ContainerApps_Delete.json" } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } }, "patch": { "tags": [ "ContainerApps" ], "summary": "Update properties of a Container App", "description": "Patches a Container App using JSON Merge Patch", "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": "containerAppName", "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/ContainerApp" } }, { "$ref": "../../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Ok", "schema": { "$ref": "#/definitions/ContainerApp" } }, "202": { "description": "Patch operation is in progress.", "headers": { "Location": { "type": "string" } } }, "default": { "description": "Common error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Patch Container App": { "$ref": "./examples/ContainerApps_Patch.json" } }, "x-ms-long-running-operation": true } }, "/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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Analyze Custom Hostname": { "$ref": "./examples/ContainerApps_ListCustomHostNameAnalysis.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/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": "containerAppName", "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "List Container Apps Secrets": { "$ref": "./examples/ContainerApps_ListSecrets.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/getAuthtoken": { "post": { "tags": [ "ContainerApps" ], "summary": "Get auth token for a container app", "operationId": "ContainerApps_GetAuthToken", "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": "containerAppName", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ContainerAppAuthToken" } }, "404": { "description": "Not found.", "x-ms-error-response": true }, "default": { "description": "Common error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Get Container App Auth Token": { "$ref": "./examples/ContainerApps_GetAuthToken.json" } } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/start": { "post": { "tags": [ "ContainerApps" ], "summary": "Start a container app", "operationId": "ContainerApps_Start", "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": "containerAppName", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string", "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Container App started successfully.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "202": { "description": "Start operation is in progress.", "headers": { "Location": { "type": "string" } } }, "default": { "description": "Common error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Start Container App": { "$ref": "./examples/ContainerApps_Start.json" } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } } }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/stop": { "post": { "tags": [ "ContainerApps" ], "summary": "Stop a container app", "operationId": "ContainerApps_Stop", "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": "containerAppName", "in": "path", "description": "Name of the Container App.", "required": true, "type": "string", "pattern": "^[-\\w\\._\\(\\)]+$" } ], "responses": { "200": { "description": "Container App stopped successfully.", "schema": { "$ref": "#/definitions/ContainerApp" } }, "202": { "description": "Stop operation is in progress.", "headers": { "Location": { "type": "string" } } }, "default": { "description": "Common error response.", "schema": { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" } } }, "x-ms-examples": { "Stop Container App": { "$ref": "./examples/ContainerApps_Stop.json" } }, "x-ms-long-running-operation": true, "x-ms-long-running-operation-options": { "final-state-via": "location" } } } }, "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.Single: Only one revision can be active at a time. Revision weights can not be used in this mode. If no value if provided, this is the default.", "enum": [ "Multiple", "Single" ], "type": "string", "default": "Single", "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." }, "runtime": { "$ref": "#/definitions/Runtime", "description": "App runtime configuration for the Container App." }, "maxInactiveRevisions": { "format": "int32", "description": "Optional. Max inactive revisions a Container App can have.", "type": "integer" }, "service": { "$ref": "#/definitions/Service", "description": "Container App to be a dev Container App Service" }, "identitySettings": { "description": "Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity is not specified here, default settings will be used.", "type": "array", "items": { "$ref": "./CommonDefinitions.json#/definitions/IdentitySettings" }, "x-ms-identifiers": [ "identity" ] } } }, "ContainerApp": { "description": "Container App.", "type": "object", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ], "properties": { "extendedLocation": { "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" }, "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" }, "managedBy": { "type": "string", "x-ms-mutability": [ "read", "create", "update" ], "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource." }, "kind": { "type": "string", "enum": [ "workflowapp", "functionapp" ], "x-ms-mutability": [ "read", "create" ], "x-ms-enum": { "name": "kind", "modelAsString": true }, "description": "Metadata to represent the container app kind, representing if a container app is workflowapp or functionapp." }, "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 } }, "runningStatus": { "description": "Running status of the Container App.", "enum": [ "Progressing", "Running", "Stopped", "Suspended", "Ready" ], "type": "string", "readOnly": true, "x-ms-enum": { "name": "ContainerAppRunningStatus", "modelAsString": true, "values": [ { "value": "Progressing", "description": "Container App is transitioning between Stopped and Running states." }, { "value": "Running", "description": "Container App is in Running state." }, { "value": "Stopped", "description": "Container App is in Stopped state." }, { "value": "Suspended", "description": "Container App Job is in Suspended state." }, { "value": "Ready", "description": "Container App Job is in Ready state." } ] } }, "managedEnvironmentId": { "description": "Deprecated. Resource ID of the Container App's environment.", "type": "string", "x-ms-mutability": [ "create", "read" ] }, "environmentId": { "description": "Resource ID of environment.", "type": "string", "x-ms-mutability": [ "create", "read" ] }, "workloadProfileName": { "$ref": "./CommonDefinitions.json#/definitions/WorkloadProfileName", "description": "Workload profile name to pin for container app execution." }, "latestRevisionName": { "description": "Name of the latest revision of the Container App.", "type": "string", "readOnly": true }, "latestReadyRevisionName": { "description": "Name of the latest ready 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 }, "eventStreamEndpoint": { "description": "The endpoint of the eventstream of the container app.", "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 } } }, "Dapr": { "description": "Container App Dapr configuration.", "type": "object", "properties": { "enabled": { "description": "Boolean indicating if the Dapr side car is enabled", "type": "boolean", "default": false }, "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", "default": "http", "x-ms-enum": { "name": "appProtocol", "modelAsString": true } }, "appPort": { "format": "int32", "description": "Tells Dapr which port your application is listening on", "type": "integer" }, "httpReadBufferSize": { "type": "integer", "description": "Dapr max size of http header read buffer in KB to handle when sending multi-KB headers. Default is 65KB.", "format": "int32" }, "httpMaxRequestSize": { "type": "integer", "description": "Increasing max size of request body http and grpc servers parameter in MB to handle uploading of big files. Default is 4 MB.", "format": "int32" }, "logLevel": { "description": "Sets the log level for the Dapr sidecar. Allowed values are debug, info, warn, error. Default is info.", "enum": [ "info", "debug", "warn", "error" ], "type": "string", "x-ms-enum": { "name": "logLevel", "modelAsString": true } }, "enableApiLogging": { "description": "Enables API logging for the Dapr sidecar", "type": "boolean" }, "appHealth": { "description": "Dapr application health check configuration", "type": "object", "properties": { "enabled": { "description": "Boolean indicating if the health probe is enabled", "type": "boolean" }, "path": { "description": "Path for the health probe", "type": "string" }, "probeIntervalSeconds": { "description": "Interval for the health probe in seconds", "format": "int32", "type": "integer", "minimum": 1 }, "probeTimeoutMilliseconds": { "description": "Timeout for the health probe in milliseconds", "format": "int32", "type": "integer", "minimum": 1 }, "threshold": { "description": "Threshold for the health probe", "format": "int32", "type": "integer", "minimum": 1 } } }, "maxConcurrency": { "description": "Maximum number of concurrent requests, events handled by the Dapr sidecar", "format": "int32", "type": "integer" } } }, "Runtime": { "description": "Container App Runtime configuration.", "type": "object", "properties": { "java": { "description": "Java app configuration", "type": "object", "properties": { "enableMetrics": { "description": "Enable jmx core metrics for the java app", "type": "boolean" } } } } }, "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" }, "exposedPort": { "format": "int32", "description": "Exposed Port in containers for TCP traffic from ingress", "type": "integer" }, "transport": { "description": "Ingress transport protocol", "enum": [ "auto", "http", "http2", "tcp" ], "type": "string", "default": "auto", "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": "./CommonDefinitions.json#/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", "default": false }, "ipSecurityRestrictions": { "description": "Rules to restrict incoming IP address.", "type": "array", "items": { "$ref": "#/definitions/IpSecurityRestrictionRule" }, "x-ms-identifiers": [ "name" ] }, "stickySessions": { "description": "Sticky Sessions for Single Revision Mode", "type": "object", "properties": { "affinity": { "description": "Sticky Session Affinity", "enum": [ "sticky", "none" ], "type": "string", "x-ms-enum": { "name": "affinity", "modelAsString": true } } } }, "clientCertificateMode": { "description": "Client certificate mode for mTLS authentication. Ignore indicates server drops client certificate on forwarding. Accept indicates server forwards client certificate but does not require a client certificate. Require indicates server requires a client certificate.", "enum": [ "ignore", "accept", "require" ], "type": "string", "x-ms-enum": { "name": "IngressClientCertificateMode", "modelAsString": true } }, "corsPolicy": { "description": "CORS policy for container app", "$ref": "#/definitions/CorsPolicy" }, "additionalPortMappings": { "description": "Settings to expose additional ports on container app", "type": "array", "items": { "$ref": "#/definitions/IngressPortMapping" }, "x-ms-identifiers": [ "targetPort" ] } } }, "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" }, "identity": { "description": "A Managed Identity to use to authenticate with Azure Container Registry. For user-assigned identities, use the full user-assigned identity Resource ID. For system-assigned identities, use 'system'", "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 }, "identity": { "description": "Resource ID of a managed identity to authenticate with Azure Key Vault, or System to use a system-assigned identity.", "type": "string", "readOnly": true }, "keyVaultUrl": { "description": "Azure Key Vault URL pointing to the secret referenced by the container app.", "type": "string", "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" }, "label": { "description": "Associates a traffic label with a revision", "type": "string" } } }, "IpSecurityRestrictionRule": { "description": "Rule to restrict incoming IP address.", "type": "object", "required": [ "name", "ipAddressRange", "action" ], "properties": { "name": { "description": "Name for the IP restriction rule.", "type": "string" }, "description": { "description": "Describe the IP restriction rule that is being sent to the container-app. This is an optional field.", "type": "string" }, "ipAddressRange": { "description": "CIDR notation to match incoming IP address", "type": "string" }, "action": { "description": "Allow or Deny rules to determine for incoming IP. Note: Rules can only consist of ALL Allow or ALL Deny", "enum": [ "Allow", "Deny" ], "type": "string", "x-ms-enum": { "name": "action", "modelAsString": true } } } }, "CorsPolicy": { "description": "Cross-Origin-Resource-Sharing policy", "type": "object", "required": [ "allowedOrigins" ], "properties": { "allowedOrigins": { "description": "Specifies the content for the access-control-allow-origins header", "type": "array", "items": { "type": "string" } }, "allowedMethods": { "description": "Specifies the content for the access-control-allow-methods header", "type": "array", "items": { "type": "string" } }, "allowedHeaders": { "description": "Specifies the content for the access-control-allow-headers header", "type": "array", "items": { "type": "string" } }, "exposeHeaders": { "description": "Specifies the content for the access-control-expose-headers header ", "type": "array", "items": { "type": "string" } }, "maxAge": { "format": "int32", "description": "Specifies the content for the access-control-max-age header", "type": "integer" }, "allowCredentials": { "description": "Specifies whether the resource allows credentials", "type": "boolean" } } }, "IngressPortMapping": { "description": "Port mappings of container app ingress", "type": "object", "required": [ "external", "targetPort" ], "properties": { "external": { "description": "Specifies whether the app port is accessible outside of the environment", "type": "boolean" }, "targetPort": { "format": "int32", "description": "Specifies the port user's container listens on", "type": "integer" }, "exposedPort": { "format": "int32", "description": "Specifies the exposed port for the target port. If not specified, it defaults to target port", "type": "integer" } } }, "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 }, "ContainerAppAuthToken": { "description": "Container App Auth Token.", "type": "object", "allOf": [ { "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" } ], "properties": { "properties": { "description": "Container App auth token resource specific properties", "type": "object", "properties": { "token": { "description": "Auth token value.", "type": "string", "x-ms-secret": true, "readOnly": true }, "expires": { "format": "date-time", "description": "Token expiration date.", "type": "string", "readOnly": true } }, "x-ms-client-flatten": true } } }, "Service": { "description": "Container App to be a dev service", "type": "object", "required": [ "type" ], "properties": { "type": { "description": "Dev ContainerApp service type", "type": "string" } } } }, "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" ] } ] }