diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json new file mode 100644 index 000000000000..7e4e9f66156d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json @@ -0,0 +1,583 @@ +{ + "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": {}, + "definitions": { + "EnvironmentVar": { + "description": "Container App container environment variable.", + "type": "object", + "properties": { + "name": { + "description": "Environment variable name.", + "type": "string" + }, + "value": { + "description": "Non-secret environment variable value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Container App secret from which to pull the environment variable value.", + "type": "string" + } + } + }, + "Container": { + "description": "Container App container definition.", + "type": "object", + "properties": { + "image": { + "description": "Container image tag.", + "type": "string" + }, + "name": { + "description": "Custom container name.", + "type": "string" + }, + "command": { + "description": "Container start command.", + "type": "array", + "items": { + "type": "string" + } + }, + "args": { + "description": "Container start command arguments.", + "type": "array", + "items": { + "type": "string" + } + }, + "env": { + "description": "Container environment variables.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVar" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resources": { + "$ref": "#/definitions/ContainerResources", + "description": "Container resource requirements." + }, + "probes": { + "description": "List of probes for the container.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppProbe" + }, + "x-ms-identifiers": [ + "type" + ] + }, + "volumeMounts": { + "description": "Container volume mounts.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "volumeName" + ] + } + } + }, + "ContainerResources": { + "description": "Container App container resource requirements.", + "type": "object", + "properties": { + "cpu": { + "format": "double", + "description": "Required CPU in cores, e.g. 0.5", + "type": "number" + }, + "memory": { + "description": "Required memory, e.g. \"250Mb\"", + "type": "string" + }, + "ephemeralStorage": { + "description": "Ephemeral Storage, e.g. \"1Gi\"", + "type": "string", + "readOnly": true + } + } + }, + "ContainerAppProbe": { + "description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.", + "type": "object", + "properties": { + "failureThreshold": { + "description": "Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "httpGet": { + "description": "HTTPGet specifies the http request to perform.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.", + "type": "string" + }, + "httpHeaders": { + "description": "Custom headers to set in the request. HTTP allows repeated headers.", + "type": "array", + "items": { + "description": "HTTPHeader describes a custom header to be used in HTTP probes", + "type": "object", + "required": [ + "name", + "value" + ], + "properties": { + "name": { + "description": "The header field name", + "type": "string" + }, + "value": { + "description": "The header field value", + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "path": { + "description": "Path to access on the HTTP server.", + "type": "string" + }, + "port": { + "description": "Name or number of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + }, + "scheme": { + "description": "Scheme to use for connecting to the host. Defaults to HTTP.", + "type": "string" + } + } + }, + "initialDelaySeconds": { + "description": "Number of seconds after the container has started before liveness probes are initiated. Minimum value is 1. Maximum value is 60.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "Minimum consecutive successes for the probe to be considered successful after having failed. Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. Maximum value is 10.", + "type": "integer", + "format": "int32" + }, + "tcpSocket": { + "description": "TCPSocket specifies an action involving a TCP port. TCP hooks not yet supported.", + "type": "object", + "required": [ + "port" + ], + "properties": { + "host": { + "description": "Optional: Host name to connect to, defaults to the pod IP.", + "type": "string" + }, + "port": { + "description": "Number or name of the port to access on the container. Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.", + "type": "integer", + "format": "int32" + } + } + }, + "terminationGracePeriodSeconds": { + "description": "Optional duration in seconds the pod needs to terminate gracefully upon probe failure. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this value overrides the value provided by the pod spec. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). This is an alpha field and requires enabling ProbeTerminationGracePeriod feature gate. Maximum value is 3600 seconds (1 hour)", + "type": "integer", + "format": "int64" + }, + "timeoutSeconds": { + "description": "Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 240.", + "type": "integer", + "format": "int32" + }, + "type": { + "description": "The type of probe.", + "enum": [ + "liveness", + "readiness", + "startup" + ], + "type": "string", + "x-ms-enum": { + "name": "Type", + "modelAsString": true + } + } + } + }, + "CustomScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "type": { + "description": "Type of the custom scale rule\neg: azure-servicebus, redis etc.", + "type": "string" + }, + "metadata": { + "description": "Metadata properties to describe custom scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "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" + } + } + }, + "DefaultErrorResponse": { + "description": "App Service error response.", + "type": "object", + "properties": { + "error": { + "description": "Error model.", + "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" + ] + }, + "innererror": { + "description": "More information to debug error.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + } + }, + "HttpScaleRule": { + "description": "Container App container Custom scaling rule.", + "type": "object", + "properties": { + "metadata": { + "description": "Metadata properties to describe http scale rule.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "auth": { + "description": "Authentication secrets for the custom scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "QueueScaleRule": { + "description": "Container App container Azure Queue based scaling rule.", + "type": "object", + "properties": { + "queueName": { + "description": "Queue name.", + "type": "string" + }, + "queueLength": { + "format": "int32", + "description": "Queue length.", + "type": "integer" + }, + "auth": { + "description": "Authentication secrets for the queue scale rule.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRuleAuth" + }, + "x-ms-identifiers": [ + "triggerParameter" + ] + } + } + }, + "Scale": { + "description": "Container App scaling configurations.", + "type": "object", + "properties": { + "minReplicas": { + "format": "int32", + "description": "Optional. Minimum number of container replicas.", + "type": "integer" + }, + "maxReplicas": { + "format": "int32", + "description": "Optional. Maximum number of container replicas. Defaults to 10 if not set.", + "type": "integer" + }, + "rules": { + "description": "Scaling rules.", + "type": "array", + "items": { + "$ref": "#/definitions/ScaleRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ScaleRule": { + "description": "Container App container scaling rule.", + "type": "object", + "properties": { + "name": { + "description": "Scale Rule Name", + "type": "string" + }, + "azureQueue": { + "$ref": "#/definitions/QueueScaleRule", + "description": "Azure Queue based scaling." + }, + "custom": { + "$ref": "#/definitions/CustomScaleRule", + "description": "Custom scale rule." + }, + "http": { + "$ref": "#/definitions/HttpScaleRule", + "description": "HTTP requests based scaling." + } + } + }, + "ScaleRuleAuth": { + "description": "Auth Secrets for Container App Scale Rule", + "type": "object", + "properties": { + "secretRef": { + "description": "Name of the Container App secret from which to pull the auth params.", + "type": "string" + }, + "triggerParameter": { + "description": "Trigger Parameter that uses the secret", + "type": "string" + } + } + }, + "Secret": { + "description": "Secret definition.", + "type": "object", + "properties": { + "name": { + "description": "Secret Name.", + "type": "string" + }, + "value": { + "description": "Secret Value.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Template": { + "description": "Container App versioned application definition.\nDefines the desired state of an immutable revision.\nAny changes to this section Will result in a new revision being created", + "type": "object", + "properties": { + "revisionSuffix": { + "description": "User friendly suffix that is appended to the revision name", + "type": "string" + }, + "containers": { + "description": "List of container definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scale": { + "$ref": "#/definitions/Scale", + "description": "Scaling properties for the Container App." + }, + "dapr": { + "$ref": "#/definitions/Dapr", + "description": "Dapr configuration for the Container App." + }, + "volumes": { + "description": "List of volume definitions for the Container App.", + "type": "array", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Volume": { + "description": "Volume definitions for the Container App.", + "type": "object", + "properties": { + "name": { + "description": "Volume name.", + "type": "string" + }, + "storageType": { + "description": "Storage type for the volume. If not provided, use EmptyDir.", + "enum": [ + "AzureFile", + "EmptyDir" + ], + "type": "string", + "x-ms-enum": { + "name": "StorageType", + "modelAsString": true + } + }, + "storageName": { + "description": "Name of storage resource. No need to provide for EmptyDir.", + "type": "string" + } + } + }, + "VolumeMount": { + "description": "Volume mount for the Container App.", + "type": "object", + "properties": { + "volumeName": { + "description": "This must match the Name of a Volume.", + "type": "string" + }, + "mountPath": { + "description": "Path within the container at which the volume should be mounted.Must not contain ':'.", + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json new file mode 100644 index 000000000000..0f86a1895e9f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerApps.json @@ -0,0 +1,834 @@ +{ + "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": "Description for 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": "Description for 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" + } + } + } + }, + "/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" + ] + } + } + }, + "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" + ], + "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." + } + } + }, + "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", + "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. Must exist in the Managed Environment.", + "type": "string" + } + } + }, + "CustomHostnameAnalysisResult": { + "description": "Custom domain analysis.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "CustomHostnameAnalysisResult resource specific properties", + "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": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse", + "description": "Raw failure information if DNS verification fails.", + "readOnly": true + }, + "hasConflictOnManagedEnvironment": { + "description": "true if there is a conflict on the Container App's managed environment; 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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json new file mode 100644 index 000000000000..fb2cebb000f2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json @@ -0,0 +1,588 @@ +{ + "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get the Revisions for a given Container App.", + "operationId": "ContainerAppsRevisions_ListRevisions", + "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 for which Revisions are needed.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RevisionCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's revisions": { + "$ref": "./examples/Revisions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Get a revision of a Container App.", + "operationId": "ContainerAppsRevisions_GetRevision", + "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": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Revision" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision": { + "$ref": "./examples/Revisions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/activate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Activates a revision for a Container App", + "operationId": "ContainerAppsRevisions_ActivateRevision", + "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": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was activated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Activate Container App's revision": { + "$ref": "./examples/Revisions_Activate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/deactivate": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Deactivates a revision for a Container App", + "operationId": "ContainerAppsRevisions_DeactivateRevision", + "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": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was deactivated" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Deactivate Container App's revision": { + "$ref": "./examples/Revisions_Deactivate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas/{name}": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "Get a replica for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_GetReplica", + "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": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App Revision Replica.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's revision replica": { + "$ref": "./examples/Replicas_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/replicas": { + "get": { + "tags": [ + "ContainerAppsRevisionReplicas" + ], + "summary": "List replicas for a Container App Revision.", + "operationId": "ContainerAppsRevisionReplicas_ListReplicas", + "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": "revisionName", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ReplicaCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Container App's replicas": { + "$ref": "./examples/Replicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{name}/restart": { + "post": { + "tags": [ + "ContainerAppsRevisions" + ], + "summary": "Restarts a revision for a Container App", + "operationId": "ContainerAppsRevisions_RestartRevision", + "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": "name", + "in": "path", + "description": "Name of the Container App Revision.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App revision was restarted" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Restart Container App's revision": { + "$ref": "./examples/Revisions_Restart.json" + } + } + } + } + }, + "definitions": { + "Revision": { + "description": "Container App Revision.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Revision resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "format": "date-time", + "description": "Timestamp describing when the revision was created\nby controller", + "type": "string", + "readOnly": true + }, + "fqdn": { + "description": "Fully qualified domain name of the revision", + "type": "string", + "readOnly": true + }, + "template": { + "$ref": "./CommonDefinitions.json#/definitions/Template", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time", + "readOnly": true + }, + "active": { + "description": "Boolean describing if the Revision is Active", + "type": "boolean", + "readOnly": true + }, + "replicas": { + "format": "int32", + "description": "Number of pods currently running for this revision", + "type": "integer", + "readOnly": true + }, + "trafficWeight": { + "format": "int32", + "description": "Traffic weight assigned to this revision", + "type": "integer", + "readOnly": true + }, + "provisioningError": { + "description": "Optional Field - Platform Error Message", + "type": "string", + "readOnly": true + }, + "healthState": { + "description": "Current health State of the revision", + "enum": [ + "Healthy", + "Unhealthy", + "None" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionHealthState", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Current provisioning State of the revision", + "enum": [ + "Provisioning", + "Provisioned", + "Failed", + "Deprovisioning", + "Deprovisioned" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RevisionProvisioningState", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "RevisionCollection": { + "description": "Container App Revisions collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Revision" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "Replica": { + "description": "Container App Revision Replica.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Replica resource specific properties", + "type": "object", + "properties": { + "createdTime": { + "type": "string", + "description": "Timestamp describing when the pod was created by controller", + "format": "date-time", + "readOnly": true + }, + "containers": { + "description": "The containers collection under a replica.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaContainer" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "ReplicaCollection": { + "description": "Container App Revision Replicas collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + } + } + }, + "ReplicaContainer": { + "description": "Container object under Container App Revision Replica.", + "type": "object", + "properties": { + "name": { + "description": "The Name of the Container", + "type": "string" + }, + "containerId": { + "description": "The Id of the Container", + "type": "string" + }, + "ready": { + "description": "The container ready status", + "type": "boolean" + }, + "started": { + "description": "The container start status", + "type": "boolean" + }, + "restartCount": { + "format": "int32", + "description": "The container restart count", + "type": "integer" + } + } + } + }, + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json new file mode 100644 index 000000000000..4e5f5f8b3124 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/DaprComponents.json @@ -0,0 +1,356 @@ +{ + "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get the Dapr Components for a managed environment.", + "operationId": "DaprComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr Components": { + "$ref": "./examples/DaprComponents_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{name}": { + "get": { + "tags": [ + "DaprComponents" + ], + "summary": "Get a dapr component.", + "operationId": "DaprComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr Component": { + "$ref": "./examples/DaprComponents_Get.json" + } + } + }, + "put": { + "tags": [ + "DaprComponents" + ], + "summary": "Creates or updates a Dapr Component.", + "description": "Creates or updates a Dapr Component in a Managed Environment.", + "operationId": "DaprComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component.", + "required": true, + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DaprComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr component": { + "$ref": "./examples/DaprComponents_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponents" + ], + "summary": "Delete a Dapr Component.", + "description": "Delete a Dapr Component from a Managed Environment.", + "operationId": "DaprComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component": { + "$ref": "./examples/DaprComponents_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + } + }, + "definitions": { + "DaprComponentsCollection": { + "description": "Dapr Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprComponent": { + "description": "Dapr Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr Component resource specific properties", + "type": "object", + "properties": { + "componentType": { + "description": "Component type", + "type": "string" + }, + "version": { + "description": "Component version", + "type": "string" + }, + "ignoreErrors": { + "description": "Boolean describing if the component errors are ignores", + "type": "boolean" + }, + "initTimeout": { + "description": "Initialization timeout", + "type": "string" + }, + "secrets": { + "description": "Collection of secrets used by a Dapr component", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/Secret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metadata": { + "description": "Component metadata", + "type": "array", + "items": { + "$ref": "#/definitions/DaprMetadata" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "scopes": { + "description": "Names of container apps that can use this Dapr component", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprMetadata": { + "description": "Dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Metadata property name.", + "type": "string" + }, + "value": { + "description": "Metadata property value.", + "type": "string" + }, + "secretRef": { + "description": "Name of the Dapr Component secret from which to pull the metadata property value.", + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/EasyAuthConfigs.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/EasyAuthConfigs.json new file mode 100644 index 000000000000..d0720d183ee0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/EasyAuthConfigs.json @@ -0,0 +1,874 @@ +{ + "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get the Container App AuthConfigs in a given resource group.", + "operationId": "ContainerAppsAuthConfigs_ListByContainerApp", + "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/AuthConfigCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Auth Configs by Container Apps": { + "$ref": "./examples/AuthConfigs_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/authConfigs/{name}": { + "get": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Get a AuthConfig of a Container App.", + "operationId": "ContainerAppsAuthConfigs_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" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's AuthConfig": { + "$ref": "./examples/AuthConfigs_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Create or update the AuthConfig for a Container App.", + "description": "Description for Create or update the AuthConfig for a Container App.", + "operationId": "ContainerAppsAuthConfigs_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": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "name": "authConfigEnvelope", + "in": "body", + "description": "Properties used to create a Container App AuthConfig", + "required": true, + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/AuthConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsAuthConfigs" + ], + "summary": "Delete a Container App AuthConfig.", + "description": "Description for Delete a Container App AuthConfig.", + "operationId": "ContainerAppsAuthConfigs_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" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App AuthConfig.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App deleted successfully." + }, + "204": { + "description": "Container App AuthConfig does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App AuthConfig": { + "$ref": "./examples/AuthConfigs_Delete.json" + } + } + } + } + }, + "definitions": { + "AuthConfig": { + "description": "Configuration settings for the Azure ContainerApp Authentication / Authorization feature.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Easy Auth configuration resource specific properties", + "type": "object", + "properties": { + "state": { + "description": "Enabled if the Authentication / Authorization feature is enabled for the current app; otherwise, Disabled.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EasyAuthState", + "modelAsString": true + } + }, + "globalValidation": { + "$ref": "#/definitions/GlobalValidation", + "description": "The configuration settings that determines the validation flow of users using ContainerApp Authentication/Authorization." + }, + "identityProviders": { + "$ref": "#/definitions/IdentityProviders", + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Authentication/Authorization." + }, + "login": { + "$ref": "#/definitions/Login", + "description": "The configuration settings of the login flow of users using ContainerApp Authentication/Authorization." + }, + "httpSettings": { + "$ref": "#/definitions/HttpSettings", + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Authentication/Authorization." + } + }, + "x-ms-client-flatten": true + } + } + }, + "GlobalValidation": { + "description": "The configuration settings that determines the validation flow of users using ContainerApp Authentication/Authorization.", + "type": "object", + "properties": { + "unauthenticatedClientAction": { + "description": "The action to take when an unauthenticated client attempts to access the app.", + "enum": [ + "RedirectToLoginPage", + "AllowAnonymous", + "Return401", + "Return403" + ], + "type": "string", + "x-ms-enum": { + "name": "UnauthenticatedClientAction", + "modelAsString": true + } + }, + "redirectToProvider": { + "description": "The default authentication provider to use when multiple providers are configured.\nThis setting is only needed if multiple providers are configured and the unauthenticated client\naction is set to \"RedirectToLoginPage\".", + "type": "string" + } + } + }, + "Login": { + "description": "The configuration settings of the login flow of users using ContainerApp Authentication/Authorization.", + "type": "object", + "properties": { + "route": { + "$ref": "#/definitions/LoginRoute", + "description": "The route that specify the endpoint used for login and logout requests." + }, + "preserveUrlFragmentsForLogins": { + "description": "True if the fragments from the request are preserved after the login request is made; otherwise, False.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "PreserveUrlFragmentsForLoginsMode", + "modelAsString": true + } + }, + "allowedExternalRedirectUrls": { + "description": "External URLs that can be redirected to as part of logging in or logging out of the app. Note that the query string part of the URL is ignored.\nThis is an advanced setting typically only needed by Windows Store application backends.\nNote that URLs within the current domain are always implicitly allowed.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LoginRoute": { + "description": "The route that specify the endpoint used for login and logout requests.", + "type": "object", + "properties": { + "logoutEndpoint": { + "description": "The endpoint at which a logout request should be made.", + "type": "string" + } + } + }, + "HttpSettings": { + "description": "The configuration settings of the HTTP requests for authentication and authorization requests made against ContainerApp Authentication/Authorization.", + "type": "object", + "properties": { + "requireHttps": { + "description": "false if the authentication/authorization responses not having the HTTPS scheme are permissible; otherwise, true.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "RequireHttpsMode", + "modelAsString": true + } + }, + "route": { + "$ref": "#/definitions/HttpSettingsRoute", + "description": "The configuration settings of the paths HTTP requests." + } + } + }, + "HttpSettingsRoute": { + "description": "The configuration settings of the paths HTTP requests.", + "type": "object", + "properties": { + "apiPrefix": { + "description": "The prefix that should precede all the authentication/authorization paths.", + "type": "string" + } + } + }, + "IdentityProviders": { + "description": "The configuration settings of each of the identity providers used to configure ContainerApp Authentication/Authorization.", + "type": "object", + "properties": { + "azureActiveDirectory": { + "$ref": "#/definitions/AzureActiveDirectory", + "description": "The configuration settings of the Azure Active directory provider." + }, + "facebook": { + "$ref": "#/definitions/Facebook", + "description": "The configuration settings of the Facebook provider." + }, + "gitHub": { + "$ref": "#/definitions/GitHub", + "description": "The configuration settings of the GitHub provider." + }, + "google": { + "$ref": "#/definitions/Google", + "description": "The configuration settings of the Google provider." + }, + "legacyMicrosoftAccount": { + "$ref": "#/definitions/LegacyMicrosoftAccount", + "description": "The configuration settings of the legacy Microsoft Account provider." + }, + "twitter": { + "$ref": "#/definitions/Twitter", + "description": "The configuration settings of the Twitter provider." + }, + "apple": { + "$ref": "#/definitions/Apple", + "description": "The configuration settings of the Apple provider." + }, + "azureStaticWebApp": { + "$ref": "#/definitions/AzureStaticWebApp", + "description": "The configuration settings of the Azure Static Web Apps provider." + }, + "customOpenIdConnectProviders": { + "description": "The map of the name of the alias of each custom Open ID Connect provider to the\nconfiguration settings of the custom Open ID Connect provider.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomOpenIdConnectProvider" + } + } + } + }, + "CustomOpenIdConnectProvider": { + "description": "The configuration settings of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the custom Open ID Connect provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/OpenIdConnectRegistration", + "description": "The configuration settings of the app registration for the custom Open ID Connect provider." + }, + "login": { + "$ref": "#/definitions/OpenIdConnectLogin", + "description": "The configuration settings of the login flow of the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectRegistration": { + "description": "The configuration settings of the app registration for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "clientId": { + "description": "The client id of the custom Open ID Connect provider.", + "type": "string" + }, + "clientCredential": { + "$ref": "#/definitions/OpenIdConnectClientCredential", + "description": "The authentication credentials of the custom Open ID Connect provider." + }, + "openIdConnectConfiguration": { + "$ref": "#/definitions/OpenIdConnectConfig", + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider." + } + } + }, + "OpenIdConnectClientCredential": { + "description": "The authentication client credentials of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "clientSecretRefName": { + "description": "The app setting that contains the client secret for the custom Open ID Connect provider.", + "type": "string" + } + } + }, + "OpenIdConnectConfig": { + "description": "The configuration settings of the endpoints used for the custom Open ID Connect provider.", + "type": "object", + "properties": { + "authorizationEndpoint": { + "description": "The endpoint to be used to make an authorization request.", + "type": "string" + }, + "tokenEndpoint": { + "description": "The endpoint to be used to request a token.", + "type": "string" + }, + "issuer": { + "description": "The endpoint that issues the token.", + "type": "string" + }, + "certificationUri": { + "description": "The endpoint that provides the keys necessary to validate the token.", + "type": "string" + }, + "wellKnownOpenIdConfiguration": { + "description": "The endpoint that contains all the configuration endpoints for the provider.", + "type": "string" + } + } + }, + "OpenIdConnectLogin": { + "description": "The configuration settings of the login flow of the custom Open ID Connect provider.", + "type": "object", + "properties": { + "nameClaimType": { + "description": "The name of the claim that contains the users name.", + "type": "string" + }, + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AzureActiveDirectory": { + "description": "The configuration settings of the Azure Active directory provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Azure Active Directory provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/AzureActiveDirectoryRegistration", + "description": "The configuration settings of the Azure Active Directory app registration." + }, + "login": { + "$ref": "#/definitions/AzureActiveDirectoryLogin", + "description": "The configuration settings of the Azure Active Directory login flow." + }, + "validation": { + "$ref": "#/definitions/AzureActiveDirectoryValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + } + }, + "AzureActiveDirectoryRegistration": { + "description": "The configuration settings of the Azure Active Directory app registration.", + "type": "object", + "properties": { + "openIdIssuer": { + "description": "The OpenID Connect Issuer URI that represents the entity which issues access tokens for this application.\nWhen using Azure Active Directory, this value is the URI of the directory tenant, e.g. https://login.microsoftonline.com/v2.0/{tenant-guid}/.\nThis URI is a case-sensitive identifier for the token issuer.\nMore information on OpenID Connect Discovery: http://openid.net/specs/openid-connect-discovery-1_0.html", + "type": "string" + }, + "clientId": { + "description": "The Client ID of this relying party application, known as the client_id.\nThis setting is required for enabling OpenID Connection authentication with Azure Active Directory or \nother 3rd party OpenID Connect providers.\nMore information on OpenID Connect: http://openid.net/specs/openid-connect-core-1_0.html", + "type": "string" + }, + "clientSecretRefName": { + "description": "The app secret ref name that contains the client secret of the relying party application.", + "type": "string" + }, + "clientSecretCertificateThumbprint": { + "description": "An alternative to the client secret, that is the thumbprint of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret. It is also optional.", + "type": "string" + }, + "clientSecretCertificateSubjectAlternativeName": { + "description": "An alternative to the client secret thumbprint, that is the subject alternative name of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + }, + "clientSecretCertificateIssuer": { + "description": "An alternative to the client secret thumbprint, that is the issuer of a certificate used for signing purposes. This property acts as\na replacement for the Client Secret Certificate Thumbprint. It is also optional.", + "type": "string" + } + } + }, + "AzureActiveDirectoryLogin": { + "description": "The configuration settings of the Azure Active Directory login flow.", + "type": "object", + "properties": { + "loginParameters": { + "description": "Login parameters to send to the OpenID Connect authorization endpoint when\na user logs in. Each parameter must be in the form \"key=value\".", + "type": "array", + "items": { + "type": "string" + } + }, + "disableWwwAuthenticate": { + "description": "true if the www-authenticate provider should be omitted from the request; otherwise, false.", + "type": "string", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "DisableWwwAuthenticateMode", + "modelAsString": true + } + } + } + }, + "AzureActiveDirectoryValidation": { + "description": "The configuration settings of the Azure Active Directory token validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The list of audiences that can make successful authentication/authorization requests.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Facebook": { + "description": "The configuration settings of the Facebook provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Facebook provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/AppRegistration", + "description": "The configuration settings of the app registration for the Facebook provider." + }, + "graphApiVersion": { + "description": "The version of the Facebook api to be used while logging in.", + "type": "string" + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AppRegistration": { + "description": "The configuration settings of the app registration for providers that have app ids and app secrets", + "type": "object", + "properties": { + "appId": { + "description": "The App ID of the app used for login.", + "type": "string" + }, + "appSecretRefName": { + "description": "The app secret ref name that contains the app secret.", + "type": "string" + } + } + }, + "LoginScopes": { + "description": "The configuration settings of the login flow, including the scopes that should be requested.", + "type": "object", + "properties": { + "scopes": { + "description": "A list of the scopes that should be requested while authenticating.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "GitHub": { + "description": "The configuration settings of the GitHub provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the GitHub provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the GitHub provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "ClientRegistration": { + "description": "The configuration settings of the app registration for providers that have client ids and client secrets", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretRefName": { + "description": "The app secret ref name that contains the client secret.", + "type": "string" + } + } + }, + "Google": { + "description": "The configuration settings of the Google provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Google provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the Google provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the Azure Active Directory token validation flow." + } + } + }, + "AllowedAudiencesValidation": { + "description": "The configuration settings of the Allowed Audiences validation flow.", + "type": "object", + "properties": { + "allowedAudiences": { + "description": "The configuration settings of the allowed list of audiences from which to validate the JWT token.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Twitter": { + "description": "The configuration settings of the Twitter provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Twitter provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/TwitterRegistration", + "description": "The configuration settings of the app registration for the Twitter provider." + } + } + }, + "TwitterRegistration": { + "description": "The configuration settings of the app registration for the Twitter provider.", + "type": "object", + "properties": { + "consumerKey": { + "description": "The OAuth 1.0a consumer key of the Twitter application used for sign-in.\nThis setting is required for enabling Twitter Sign-In.\nTwitter Sign-In documentation: https://dev.twitter.com/web/sign-in", + "type": "string" + }, + "consumerSecretRefName": { + "description": "The app secret ref name that contains the OAuth 1.0a consumer secret of the Twitter\napplication used for sign-in.", + "type": "string" + } + } + }, + "LegacyMicrosoftAccount": { + "description": "The configuration settings of the legacy Microsoft Account provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the legacy Microsoft Account provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/ClientRegistration", + "description": "The configuration settings of the app registration for the legacy Microsoft Account provider." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + }, + "validation": { + "$ref": "#/definitions/AllowedAudiencesValidation", + "description": "The configuration settings of the legacy Microsoft Account provider token validation flow." + } + } + }, + "Apple": { + "description": "The configuration settings of the Apple provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Apple provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/AppleRegistration", + "description": "The configuration settings of the Apple registration." + }, + "login": { + "$ref": "#/definitions/LoginScopes", + "description": "The configuration settings of the login flow." + } + } + }, + "AzureStaticWebApp": { + "description": "The configuration settings of the Azure Static Web Apps provider.", + "type": "object", + "properties": { + "state": { + "$ref": "#/definitions/IdentityProviderState", + "description": "Disabled if the Azure Static Web Apps provider should not be enabled despite the set registration; otherwise, Enabled." + }, + "registration": { + "$ref": "#/definitions/AzureStaticWebAppRegistration", + "description": "The configuration settings of the Azure Static Web Apps registration." + } + } + }, + "AzureStaticWebAppRegistration": { + "description": "The configuration settings of the registration for the Azure Static Web Apps provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + } + } + }, + "AppleRegistration": { + "description": "The configuration settings of the registration for the Apple provider", + "type": "object", + "properties": { + "clientId": { + "description": "The Client ID of the app used for login.", + "type": "string" + }, + "clientSecretRefName": { + "description": "The app secret ref name that contains the client secret.", + "type": "string" + } + } + }, + "AuthConfigCollection": { + "description": "AuthConfig collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AuthConfig" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "IdentityProviderState": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "IdentityProviderState", + "modelAsString": true + }, + "description": "Indicate whether identity provider is enabled or disabled." + } + }, + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json new file mode 100644 index 000000000000..a60af63ef565 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/Global.json @@ -0,0 +1,149 @@ +{ + "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": { + "/providers/Microsoft.App/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available RP operations.", + "operationId": "Operations_List", + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AvailableOperations" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List all operations": { + "$ref": "./examples/Operations_List.json" + } + } + } + } + }, + "definitions": { + "AvailableOperations": { + "description": "Available operations of the service", + "type": "object", + "properties": { + "value": { + "description": "Collection of available operation details", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/OperationDetail" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "URL client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationDetail": { + "description": "Operation detail payload", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation", + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay", + "description": "Display of the operation" + }, + "origin": { + "description": "Origin of the operation", + "type": "string" + } + } + }, + "OperationDisplay": { + "description": "Operation display payload", + "type": "object", + "properties": { + "provider": { + "description": "Resource provider of the operation", + "type": "string" + }, + "resource": { + "description": "Resource of the operation", + "type": "string" + }, + "operation": { + "description": "Localized friendly name for the operation", + "type": "string" + }, + "description": { + "description": "Localized friendly description for the operation", + "type": "string" + } + } + } + }, + "parameters": { + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "API Version", + "required": true, + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json new file mode 100644 index 000000000000..5719e4cd3e49 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json @@ -0,0 +1,908 @@ +{ + "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/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all Environments for a subscription.", + "description": "Get all Managed Environments for a subscription.", + "operationId": "ManagedEnvironments_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/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by subscription": { + "$ref": "./examples/ManagedEnvironments_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get all the Environments in a resource group.", + "description": "Get all the Managed Environments in a resource group.", + "operationId": "ManagedEnvironments_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/ManagedEnvironmentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List environments by resource group": { + "$ref": "./examples/ManagedEnvironments_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{name}": { + "get": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Get the properties of a Managed Environment.", + "description": "Get the properties of a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_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 Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get environments by name": { + "$ref": "./examples/ManagedEnvironments_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Creates or updates a Managed Environment.", + "description": "Creates or updates a Managed Environment used to host container apps.", + "operationId": "ManagedEnvironments_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 Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Create environments": { + "$ref": "./examples/ManagedEnvironments_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Delete a Managed Environment.", + "description": "Delete a Managed Environment if it does not have any container apps.", + "operationId": "ManagedEnvironments_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 Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "202": { + "description": "Delete operation is in progress" + }, + "204": { + "description": "Environment does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete environment by name": { + "$ref": "./examples/ManagedEnvironments_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "ManagedEnvironments" + ], + "summary": "Update Managed Environment's properties.", + "description": "Patches a Managed Environment. Only patching of tags is supported currently", + "operationId": "ManagedEnvironments_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 Environment.", + "required": true, + "type": "string" + }, + { + "name": "environmentEnvelope", + "in": "body", + "description": "Configuration details of the Environment.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentPatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Environment": { + "$ref": "./examples/ManagedEnvironments_Patch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the Certificates in a given managed environment.", + "operationId": "Certificates_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CertificateCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Certificates by Managed Environment": { + "$ref": "./examples/Certificates_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{managedEnvironmentName}/certificates/{name}": { + "get": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Get the specified Certificate.", + "operationId": "Certificates_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Certificate": { + "$ref": "./examples/Certificate_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Create or Update a Certificate.", + "operationId": "Certificates_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "description": "Certificate to be created or updated", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Certificate": { + "$ref": "./examples/Certificate_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Deletes the specified Certificate.", + "operationId": "Certificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Certificate does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/Certificate_Delete.json" + } + } + }, + "patch": { + "tags": [ + "ManagedEnvironments", + "Certificates" + ], + "summary": "Update properties of a certificate", + "description": "Patches a certificate. Currently only patching of tags is supported", + "operationId": "Certificates_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "managedEnvironmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Certificate.", + "required": true, + "type": "string" + }, + { + "name": "certificateEnvelope", + "in": "body", + "required": true, + "description": "Properties of a certificate that need to be updated", + "schema": { + "$ref": "#/definitions/CertificatePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Container App updated successfully.", + "schema": { + "$ref": "#/definitions/Certificate" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Certificate": { + "$ref": "./examples/Certificates_Patch.json" + } + } + } + } + }, + "definitions": { + "AppLogsConfiguration": { + "description": "Configuration of application logs", + "type": "object", + "properties": { + "destination": { + "description": "Logs destination", + "type": "string" + }, + "logAnalyticsConfiguration": { + "description": "Log Analytics configuration", + "$ref": "#/definitions/LogAnalyticsConfiguration" + } + } + }, + "VnetConfiguration": { + "type": "object", + "description": "Configuration properties for apps environment to join a Virtual Network", + "properties": { + "internal": { + "type": "boolean", + "description": "Boolean indicating the environment only has an internal load balancer. These environments do not have a public static IP resource, must provide ControlPlaneSubnetResourceId and AppSubnetResourceId if enabling this property", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "infrastructureSubnetId": { + "type": "string", + "description": "Resource ID of a subnet for infrastructure components. This subnet must be in the same VNET as the subnet defined in runtimeSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "runtimeSubnetId": { + "type": "string", + "description": "Resource ID of a subnet that Container App containers are injected into. This subnet must be in the same VNET as the subnet defined in infrastructureSubnetId. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "dockerBridgeCidr": { + "type": "string", + "description": "CIDR notation IP range assigned to the Docker bridge, network. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedCidr": { + "type": "string", + "description": "IP range in CIDR notation that can be reserved for environment infrastructure IP addresses. Must not overlap with any other provided IP ranges.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "platformReservedDnsIP": { + "type": "string", + "description": " An IP address from the IP range defined by platformReservedCidr that will be reserved for the internal DNS server.", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "ManagedEnvironment": { + "description": "An environment for hosting container apps", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Managed environment resource specific properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "Provisioning state of the Environment.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "InitializationInProgress", + "InfrastructureSetupInProgress", + "InfrastructureSetupComplete", + "ScheduledForDelete", + "UpgradeRequested", + "UpgradeFailed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "EnvironmentProvisioningState", + "modelAsString": true + } + }, + "daprAIInstrumentationKey": { + "type": "string", + "description": "Azure Monitor instrumentation key used by Dapr to export Service to Service communication telemetry", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "vnetConfiguration": { + "description": "Vnet configuration for the environment", + "$ref": "#/definitions/VnetConfiguration" + }, + "deploymentErrors": { + "description": "Any errors that occurred during deployment or deployment validation", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Default Domain Name for the cluster", + "type": "string", + "readOnly": true + }, + "staticIp": { + "description": "Static IP of the Environment", + "type": "string", + "readOnly": true + }, + "appLogsConfiguration": { + "$ref": "#/definitions/AppLogsConfiguration", + "description": "Cluster configuration which enables the log daemon to export\napp logs to a destination. Currently only \"log-analytics\" is\nsupported" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ManagedEnvironmentsCollection": { + "description": "Collection of Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironment" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedEnvironmentPatch": { + "description": "An environment for hosting container apps", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "LogAnalyticsConfiguration": { + "description": "Log analytics configuration", + "type": "object", + "properties": { + "customerId": { + "description": "Log analytics customer id", + "type": "string" + }, + "sharedKey": { + "description": "Log analytics customer key", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "Certificate": { + "description": "Certificate used for Custom Domain bindings of Container Apps in a Managed Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Certificate resource specific properties", + "type": "object", + "properties": { + "password": { + "description": "Certificate password.", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "subjectName": { + "description": "Subject name of the certificate.", + "type": "string", + "readOnly": true + }, + "value": { + "format": "byte", + "description": "PFX or PEM blob", + "type": "string", + "x-ms-mutability": [ + "create" + ], + "x-ms-secret": true + }, + "issuer": { + "description": "Certificate issuer.", + "type": "string", + "readOnly": true + }, + "issueDate": { + "format": "date-time", + "description": "Certificate issue Date.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + }, + "valid": { + "description": "Is the certificate valid?.", + "type": "boolean", + "readOnly": true + }, + "publicKeyHash": { + "description": "Public key hash.", + "type": "string", + "readOnly": true + } + } + } + }, + "x-ms-client-flatten": true + }, + "CertificateCollection": { + "description": "Collection of Certificates.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Certificate" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "CertificatePatch": { + "description": "A certificate to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + } + }, + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..621aacc539ee --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json @@ -0,0 +1,321 @@ +{ + "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get all storages for a managedEnvironment.", + "description": "Get all storages for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStoragesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{envName}/storages/{name}": { + "get": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Get storage for a managedEnvironment.", + "description": "Get storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "get a environments storage properties by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Create or update storage for a managedEnvironment.", + "description": "Create or update storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "name": "storageEnvelope", + "in": "body", + "description": "Configuration details of storage.", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update environments storage": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "ManagedEnvironmentsStorages" + ], + "summary": "Delete storage for a managedEnvironment.", + "description": "Delete storage for a managedEnvironment.", + "operationId": "ManagedEnvironmentsStorages_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "envName", + "in": "path", + "description": "Name of the Environment.", + "required": true, + "type": "string" + }, + { + "name": "name", + "in": "path", + "description": "Name of the storage.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "204": { + "description": "Storage does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List environments storages by subscription": { + "$ref": "./examples/ManagedEnvironmentsStorages_Delete.json" + } + } + } + } + }, + "definitions": { + "AzureFileProperties": { + "description": "Azure File Properties.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name for azure file.", + "type": "string" + }, + "accountKey": { + "description": "Storage account key for azure file.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "Azure file share name.", + "type": "string" + } + } + }, + "ManagedEnvironmentStoragesCollection": { + "description": "Collection of Storage for Environments", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of storage resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedEnvironmentStorage" + } + } + } + }, + "ManagedEnvironmentStorage": { + "description": "Storage resource for managedEnvironment.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "#/definitions/AzureFileProperties", + "description": "Azure file properties" + } + } + } + } + } + }, + "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" + ] + } + ] +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json new file mode 100644 index 000000000000..d07f59442b89 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/SourceControls.json @@ -0,0 +1,425 @@ +{ + "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" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get the Container App SourceControls in a given resource group.", + "operationId": "ContainerAppsSourceControls_ListByContainerApp", + "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/SourceControlCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App's Source Controls": { + "$ref": "./examples/SourceControls_ListByContainer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/sourcecontrols/{name}": { + "get": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Get a SourceControl of a Container App.", + "operationId": "ContainerAppsSourceControls_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" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App's SourceControl": { + "$ref": "./examples/SourceControls_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Create or update the SourceControl for a Container App.", + "description": "Description for Create or update the SourceControl for a Container App.", + "operationId": "ContainerAppsSourceControls_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": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "required": true, + "type": "string" + }, + { + "name": "sourceControlEnvelope", + "in": "body", + "description": "Properties used to create a Container App SourceControl", + "required": true, + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "No change performed on the Container App.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "202": { + "description": "Container App create or update has been started.", + "schema": { + "$ref": "#/definitions/SourceControl" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Container App SourceControl": { + "$ref": "./examples/SourceControls_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ContainerAppsSourceControls" + ], + "summary": "Delete a Container App SourceControl.", + "description": "Description for Delete a Container App SourceControl.", + "operationId": "ContainerAppsSourceControls_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" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Container App SourceControl.", + "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 SourceControl does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Container App SourceControl": { + "$ref": "./examples/SourceControls_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "SourceControl": { + "description": "Container App SourceControl.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "SourceControl resource specific properties", + "type": "object", + "properties": { + "operationState": { + "description": "Current provisioning State of the operation", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SourceControlOperationState", + "modelAsString": true + } + }, + "repoUrl": { + "description": "The repo url which will be integrated to ContainerApp.", + "type": "string" + }, + "branch": { + "description": "The branch which will trigger the auto deployment", + "type": "string" + }, + "githubActionConfiguration": { + "$ref": "#/definitions/GithubActionConfiguration", + "description": "Container App Revision Template with all possible settings and the\ndefaults if user did not provide them. The defaults are populated\nas they were at the creation time" + } + }, + "x-ms-client-flatten": true + } + } + }, + "GithubActionConfiguration": { + "description": "Configuration properties that define the mutable settings of a Container App SourceControl", + "type": "object", + "properties": { + "registryInfo": { + "$ref": "#/definitions/RegistryInfo", + "description": "Registry configurations." + }, + "azureCredentials": { + "$ref": "#/definitions/AzureCredentials", + "description": "AzureCredentials configurations." + }, + "dockerfilePath": { + "description": "Docker file path", + "type": "string" + }, + "publishType": { + "description": "Code or Image", + "type": "string" + }, + "os": { + "description": "Operation system", + "type": "string" + }, + "runtimeStack": { + "description": "Runtime stack", + "type": "string" + }, + "runtimeVersion": { + "description": "Runtime Version", + "type": "string" + } + } + }, + "RegistryInfo": { + "description": "Container App registry information.", + "type": "object", + "properties": { + "registryUrl": { + "description": "registry server Url.", + "type": "string" + }, + "registryUserName": { + "description": "registry username.", + "type": "string" + }, + "registryPassword": { + "description": "registry secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + } + } + }, + "AzureCredentials": { + "description": "Container App credentials.", + "type": "object", + "properties": { + "clientId": { + "description": "Client Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "clientSecret": { + "description": "Client Secret.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "tenantId": { + "description": "Tenant Id.", + "type": "string", + "x-ms-mutability": [ + "create", + "update" + ], + "x-ms-secret": true + }, + "subscriptionId": { + "description": "Subscription Id.", + "type": "string" + } + } + }, + "SourceControlCollection": { + "description": "SourceControl collection ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SourceControl" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..c3494afcb179 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_CreateOrUpdate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview", + "authConfigEnvelope": { + "properties": { + "state": "Enabled", + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretRefName": "facebook-secret" + } + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "state": "Enabled", + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretRefName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json new file mode 100644 index 000000000000..0e5bef780ac5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json new file mode 100644 index 000000000000..60c9bfef3126 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "state": "Enabled", + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretRefName": "facebook-secret" + } + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json new file mode 100644 index 000000000000..f584baf3b6fc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/AuthConfigs_ListByContainer.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/authconfigs/current", + "name": "current", + "type": "Microsoft.App/containerapps/authconfigs", + "properties": { + "state": "Enabled", + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretRefName": "facebook-secret" + } + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json new file mode 100644 index 000000000000..7f2020bbde18 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_CreateOrUpdate.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "PFX-or-PEM-blob" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json new file mode 100644 index 000000000000..a94acec7bb08 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json new file mode 100644 index 000000000000..bdb732bd2d6c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificate_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..b2c49403e21c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_ListByManagedEnvironment.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "name": "certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "properties": { + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json new file mode 100644 index 000000000000..f26a38744f41 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Certificates_Patch.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "managedEnvironmentName": "testcontainerenv", + "name": "certificate-firendly-name", + "api-version": "2022-01-01-preview", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificate-firendly-name", + "type": "Microsoft.App/ManagedEnvironments/Certificates", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "subjectName": "my-subject-name.company.country.net", + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json new file mode 100644 index 000000000000..4886fba51996 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_CreateOrUpdate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview", + "containerAppEnvelope": { + "location": "East US", + "properties": { + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "configuration": { + "ingress": { + "external": true, + "targetPort": 3000, + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v1", + "name": "testcontainerApp0", + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "custom": { + "type": "http", + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my-other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "probes": [ + { + "type": "liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ] + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json new file mode 100644 index 000000000000..420bed6a0dc5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testWorkerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/workerApps/testWorkerApp0/operationResults/62e4d893-d233-4005-988e-a428d9f77076?api-version=2021-02-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json new file mode 100644 index 000000000000..7f3df32bdb0f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Get.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json new file mode 100644 index 000000000000..2f86e8bcaae6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListByResourceGroup.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json new file mode 100644 index 000000000000..1ef7041b3573 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListBySubscription.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto", + "customDomains": [ + { + "name": "www.my-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-name-dot-com" + }, + { + "name": "www.my--other-name.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube/certificates/my-certificate-for-my-other-name-dot-com" + } + ] + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json new file mode 100644 index 000000000000..21f55a593221 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "customHostname": "my.name.corp", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "properties": { + "hostName": "my.name.corp", + "isHostnameAlreadyVerified": true, + "customDomainVerificationTest": "Passed", + "customDomainVerificationFailureInfo": {}, + "hasConflictOnManagedEnvironment": false, + "conflictingContainerAppResourceId": "", + "cNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "txtRecords": [ + "txtRecord1", + "txtRecord2" + ], + "aRecords": [ + "aRecord1", + "aRecord2" + ], + "alternateCNameRecords": [ + "cNameRecord1", + "cNameRecord2" + ], + "alternateTxtRecords": [ + "txtRecord1", + "txtRecord2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json new file mode 100644 index 000000000000..d3f43ccab4a2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json new file mode 100644 index 000000000000..6f94668279ec --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ContainerApps_Patch.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "name": "testcontainerApp0", + "api-version": "2022-01-01-preview", + "containerAppEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/containerApps", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "latestRevisionFqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "configuration": { + "ingress": { + "fqdn": "testcontainerApp0.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "external": true, + "targetPort": 3000, + "transport": "auto" + } + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "grpc" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..c09192bf024f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_CreateOrUpdate.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview", + "daprComponentEnvelope": { + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey", + "value": "keyvalue" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json new file mode 100644 index 000000000000..fd76e6ce55f4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json new file mode 100644 index 000000000000..f9ed1449c963 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "reddog", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json new file mode 100644 index 000000000000..ed1b8068ca8c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/DaprComponents_List.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprcomponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/daprcomponents", + "properties": { + "componentType": "state.azure.cosmosdb", + "version": "v1", + "ignoreErrors": false, + "initTimeout": "50s", + "secrets": [ + { + "name": "masterkey" + } + ], + "metadata": [ + { + "name": "url", + "value": "" + }, + { + "name": "database", + "value": "itemsDB" + }, + { + "name": "collection", + "value": "items" + }, + { + "name": "masterkey", + "secretRef": "masterkey" + } + ], + "scopes": [ + "container-app-1", + "container-app-2" + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..0b7eec3a2c2f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview", + "storageEnvelope": { + "properties": { + "azureFile": { + "accountName": "account1", + "accountKey": "key", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..54eeba3bf4cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..c185a05cd353 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..bfc6a88b3d6a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "envName": "managedEnv", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "azureFile": { + "accountName": "account1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..7ac16d8719d2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-01-01-preview", + "environmentEnvelope": { + "location": "East US", + "properties": { + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json new file mode 100644 index 000000000000..b322bbcf5aaf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "examplekenv", + "api-version": "2022-01-01-preview", + "location": "East US" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json new file mode 100644 index 000000000000..1c8bd516969b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "name": "jlaw-demo1", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..791c90155cd4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..5364b81eee11 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_ListBySubscription.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "jlaw-demo1.k4apps.io", + "staticIp": "20.42.33.145", + "appLogsConfiguration": null + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/DemoRG/providers/Microsoft.App/managedEnvironments/demo1", + "name": "demo1", + "type": "Microsoft.App/managedEnvironments", + "location": "North Central US", + "tags": {}, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "demo1.k4apps.io", + "staticIp": "52.142.21.61", + "appLogsConfiguration": null + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json new file mode 100644 index 000000000000..bb568449f413 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/ManagedEnvironments_Patch.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "name": "testcontainerenv", + "api-version": "2022-01-01-preview", + "location": "East US", + "environmentEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv", + "name": "testcontainerenv", + "type": "Microsoft.App/managedEnvironments", + "location": "East US", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..11f45af01c93 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Operations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "Microsoft.App/containerApps/Read", + "display": { + "provider": "Microsoft Apps", + "resource": "Container App", + "operation": "Get Container App", + "description": "Get the properties of a Container App" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json new file mode 100644 index 000000000000..e80b3b98fc67 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json new file mode 100644 index 000000000000..bb35abdefe3d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Replicas_List.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "myapp", + "revisionName": "myapp--0wlqy09", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/revisions/myapp--0wlqy09/replicas/myapp--0wlqy09-5d9774cff-5wnd8", + "name": "myapp--0wlqy09-5d9774cff-5wnd8", + "type": "Microsoft.Web/containerapps/revisions/replicas", + "properties": { + "createdTime": "2022-01-25T19:42:45Z", + "containers": [ + { + "name": "hello92", + "containerId": "containerd://6bac7bb3afed1c704b5fe563c34c0ecf59ac30c766bb73488f7fa552dc42ee54", + "ready": true, + "started": true, + "restartCount": 0 + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json new file mode 100644 index 000000000000..42ae3b8bf0fa --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Activate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json new file mode 100644 index 000000000000..42ae3b8bf0fa --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Deactivate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json new file mode 100644 index 000000000000..8c423c2a605a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.AppcontainerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerApps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000 + } + }, + "active": true, + "replicas": 1 + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json new file mode 100644 index 000000000000..29ccd646b6ec --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_List.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2021-02-01" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/revisions/testcontainerApp0-pjxhsye", + "name": "testcontainerApp0-pjxhsye", + "type": "Microsoft.App/containerApps/revisions", + "properties": { + "createdTime": "2021-05-24T21:24:22+00:00", + "fqdn": "testcontainerApp0-pjxhsye.demokube-t24clv0g.eastus.containerapps.k4apps.io", + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v2", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 5, + "rules": [ + { + "name": "httpscalingrule", + "http": { + "metadata": { + "concurrentRequests": "50" + } + } + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000 + } + }, + "active": true, + "replicas": 1 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json new file mode 100644 index 000000000000..1bad2b7270cc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/Revisions_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testStaticSite0", + "name": "testcontainerApp0-pjxhsye", + "api-version": "2021-02-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json new file mode 100644 index 000000000000..a3a5bd3e2b5d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_CreateOrUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview", + "sourceControlEnvelope": { + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg", + "registryPassword": "" + }, + "azureCredentials": { + "clientId": "", + "clientSecret": "", + "tenantId": "" + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + }, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/5a7f31af-8ae5-489b-a67e-f0a2d11df796?api-version=2021-03-01" + }, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "operationState": "InProgress", + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json new file mode 100644 index 000000000000..aa78c78930c5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://localhost/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/myapp/sourcecontrols/currentInOperationModel/operationresults/14a787ee-c65f-462d-8a8b-897f69a2ab4f?api-version=2021-03-01" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json new file mode 100644 index 000000000000..2a1f2bd09f10 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "name": "current", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json new file mode 100644 index 000000000000..04792da0ee0f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2022-01-01-preview/examples/SourceControls_ListByContainer.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2022-01-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/651f8027-33e8-4ec4-97b4-f6e9f3dc8744/resourceGroups/workerapps-rg-xj/providers/Microsoft.App/containerApps/testcanadacentral/sourcecontrols/current", + "name": "current", + "type": "Microsoft.App/containerapps/sourcecontrols", + "properties": { + "repoUrl": "https://github.com/xwang971/ghatest", + "branch": "master", + "githubActionConfiguration": { + "registryInfo": { + "registryUrl": "xwang971reg.azurecr.io", + "registryUserName": "xwang971reg" + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/readme.az.md b/specification/app/resource-manager/readme.az.md new file mode 100644 index 000000000000..aac3e847173a --- /dev/null +++ b/specification/app/resource-manager/readme.az.md @@ -0,0 +1,28 @@ +## AZ + +These settings apply only when `--az` is specified on the command line. + +For new Resource Provider. It is highly recommended to onboard Azure CLI extensions. There's no differences in terms of customer usage. + +``` yaml $(az) && $(target-mode) != 'core' +az: + extensions: app + namespace: azure.mgmt.app + package-name: azure-mgmt-app +az-output-folder: $(azure-cli-extension-folder)/src/app +python-sdk-output-folder: "$(az-output-folder)/azext_app/vendored_sdks/app" +# add additional configuration here specific for Azure CLI +# refer to the faq.md for more details +``` + + + +This is for command modules that already in azure cli main repo. +``` yaml $(az) && $(target-mode) == 'core' +az: + extensions: app + namespace: azure.mgmt.app + package-name: azure-mgmt-app +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/app +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/app" +``` \ No newline at end of file diff --git a/specification/app/resource-manager/readme.cli.md b/specification/app/resource-manager/readme.cli.md new file mode 100644 index 000000000000..c6cf6ad37ea4 --- /dev/null +++ b/specification/app/resource-manager/readme.cli.md @@ -0,0 +1 @@ +## CLI Common Settings for all the command line tools \ No newline at end of file diff --git a/specification/app/resource-manager/readme.csharp.md b/specification/app/resource-manager/readme.csharp.md new file mode 100644 index 000000000000..2408ead2b117 --- /dev/null +++ b/specification/app/resource-manager/readme.csharp.md @@ -0,0 +1,15 @@ +## C# + +These settings apply only when `--csharp` is specified on the command line. +Please also specify `--csharp-sdks-folder=`. + +```yaml $(csharp) +csharp: + azure-arm: true + license-header: MICROSOFT_MIT_NO_VERSION + payload-flattening-threshold: 1 + clear-output-folder: true + client-side-validation: false + namespace: Microsoft.Azure.Management.ContainerApps + output-folder: $(csharp-sdks-folder)/app/Microsoft.Azure.Management.ContainerApps/src/Generated +``` diff --git a/specification/app/resource-manager/readme.go.md b/specification/app/resource-manager/readme.go.md new file mode 100644 index 000000000000..40c8491d1a89 --- /dev/null +++ b/specification/app/resource-manager/readme.go.md @@ -0,0 +1,11 @@ +## Go + +These settings apply only when `--go` is specified on the command line. + +```yaml $(go) && $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +module-name: sdk/resourcemanager/app/armapp +module: github.com/Azure/azure-sdk-for-go/$(module-name) +output-folder: $(go-sdk-folder)/$(module-name) +``` diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md new file mode 100644 index 000000000000..74719d10768e --- /dev/null +++ b/specification/app/resource-manager/readme.md @@ -0,0 +1,113 @@ +# app + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for Microsoft.App service. + +## Getting Started + +To build the SDKs for My API, simply install AutoRest via `npm` (`npm install -g autorest`) and then run: + +> `autorest readme.md` + +To see additional help and options, run: + +> `autorest --help` + +For other options on installation see [Installing AutoRest](https://aka.ms/autorest/install) on the AutoRest github page. + +--- + +## Configuration + +### Basic Information + +These are the global settings for the app. + +```yaml +openapi-type: arm +tag: package-2022-01-01-preview +``` + +### Tag: package-2022-01-01-preview + +These settings apply only when `--tag=package-2022-01-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2022-01-01-preview' +input-file: + - Microsoft.App/preview/2022-01-01-preview/CommonDefinitions.json + - Microsoft.App/preview/2022-01-01-preview/ContainerApps.json + - Microsoft.App/preview/2022-01-01-preview/ContainerAppsRevisions.json + - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironments.json + - Microsoft.App/preview/2022-01-01-preview/Global.json + - Microsoft.App/preview/2022-01-01-preview/SourceControls.json + - Microsoft.App/preview/2022-01-01-preview/DaprComponents.json + - Microsoft.App/preview/2022-01-01-preview/EasyAuthConfigs.json + - Microsoft.App/preview/2022-01-01-preview/ManagedEnvironmentsStorages.json +directive: +- suppress: R4009 + from: ContainerAppsRevisions.json + reason: False positive. This is not a tracked resource. +- suppress: R3010 + from: Global.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ManagedEnvironments.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ContainerAppsRevisions.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: CommonDefinitions.json + reason: False positive. The Revisions_list api already defined +- suppress: R3010 + from: ContainerApps.json + reason: False positive. The Revisions_list api already defined +- suppress: R3018 + from: Global.json + reason: Use of boolean type is required +- suppress: R3018 + from: CommonDefinitions.json + reason: Use of boolean type is required +- suppress: R3018 + from: ContainerApps.json + reason: Use of boolean type is required +``` + +--- + +# Code Generation + +## Swagger to SDK + +This section describes what SDK should be generated by the automatic system. +This is not used by Autorest itself. + +```yaml $(swagger-to-sdk) +swagger-to-sdk: + - repo: azure-sdk-for-python-track2 + - repo: azure-sdk-for-java + - repo: azure-sdk-for-go-track2 + - repo: azure-sdk-for-js + - repo: azure-resource-manager-schemas + - repo: azure-cli-extensions +``` +## Az + +See configuration in [readme.az.md](./readme.az.md) + +## Go + +See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) + +## TypeScript + +See configuration in [readme.typescript.md](./readme.typescript.md) + +## CSharp + +See configuration in [readme.csharp.md](./readme.csharp.md) diff --git a/specification/app/resource-manager/readme.python.md b/specification/app/resource-manager/readme.python.md new file mode 100644 index 000000000000..c4098230c874 --- /dev/null +++ b/specification/app/resource-manager/readme.python.md @@ -0,0 +1,23 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(track2) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-app +no-namespace-folders: true +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python-mode) == 'update' && $(track2) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/app/azure-mgmt-app/azure/mgmt/app +``` + +``` yaml $(python-mode) == 'create' && $(track2) +basic-setup-py: true +output-folder: $(python-sdks-folder)/app/azure-mgmt-app +``` diff --git a/specification/app/resource-manager/readme.typescript.md b/specification/app/resource-manager/readme.typescript.md new file mode 100644 index 000000000000..390c4cba9728 --- /dev/null +++ b/specification/app/resource-manager/readme.typescript.md @@ -0,0 +1,14 @@ +## TypeScript + +These settings apply only when `--typescript` is specified on the command line. +Please also specify `--typescript-sdks-folder=`. + +``` yaml $(typescript) +typescript: + azure-arm: true + package-name: "@azure/arm-app" + output-folder: "$(typescript-sdks-folder)/sdk/app/arm-app" + payload-flattening-threshold: 1 + clear-output-folder: true + generate-metadata: true +```