diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/HttpRouteConfig.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/HttpRouteConfig.json new file mode 100644 index 000000000000..133307c1e378 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/HttpRouteConfig.json @@ -0,0 +1,579 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-08-02-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}/httpRoutes/{httpRouteName}": { + "get": { + "tags": [ + "HttpRouteConfig" + ], + "summary": "Get the specified Managed Http Route Config.", + "operationId": "HttpRouteConfig_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", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 3, + "maxLength": 63 + }, + { + "name": "httpRouteName", + "in": "path", + "description": "Name of the Http Route Config Resource.", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get HttpRoute": { + "$ref": "./examples/HttpRouteConfig_Get.json" + } + } + }, + "put": { + "tags": [ + "HttpRouteConfig" + ], + "summary": "Create or Update a Http Route Config.", + "operationId": "HttpRouteConfig_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": "httpRouteName", + "in": "path", + "description": "Name of the Http Route Config Resource.", + "required": true, + "type": "string" + }, + { + "name": "managedHttpRouteEnvelope", + "in": "body", + "description": "Http Route config to be created or updated", + "schema": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Http Route": { + "$ref": "./examples/HttpRouteConfig_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "HttpRouteConfig" + ], + "summary": "Update tags of a manged http route object", + "description": "Patches an http route config resource. Only patching of tags is supported", + "operationId": "HttpRouteConfig_Update", + "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": "httpRouteName", + "in": "path", + "description": "Name of the Http Route Config Resource.", + "required": true, + "type": "string" + }, + { + "name": "managedHttpRouteEnvelope", + "in": "body", + "required": true, + "description": "Properties of http route config that need to be updated", + "schema": { + "$ref": "#/definitions/ManagedHttpRoutePatch" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Managed Http Routes updated successfully.", + "schema": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Managed Http Route": { + "$ref": "./examples/HttpRouteConfig_Patch.json" + } + } + }, + "delete": { + "tags": [ + "HttpRouteConfig" + ], + "summary": "Deletes the specified Managed Http Route.", + "operationId": "HttpRouteConfig_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": "httpRouteName", + "in": "path", + "description": "Name of the Http Route Config Resource.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Http Route does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Certificate": { + "$ref": "./examples/HttpRouteConfig_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/httpRoutes": { + "get": { + "tags": [ + "HttpRouteConfig" + ], + "summary": "Get the Managed Http Routes in a given managed environment.", + "operationId": "HttpRouteConfig_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ManagedHttpRouteConfigCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Managed Http Routes by Managed Environment": { + "$ref": "./examples/HttpRouteConfig_ListByManagedEnvironment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ManagedHttpRoutePatch": { + "description": "A Http Route Config to update", + "type": "object", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Application-specific metadata in the form of key-value pairs." + } + } + }, + "HttpRouteConfig": { + "description": "Advanced Ingress routing for path/header based routing for a Container App Environment", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Http Route Config properties", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the Http Route Config in cluster", + "$ref": "#/definitions/HttpRouteProvisioningState" + }, + "provisioningErrors": { + "description": "List of errors when trying to reconcile http routes", + "type": "array", + "items": { + "$ref": "#/definitions/HttpRouteProvisioningErrors" + }, + "readOnly": true + }, + "fqdn": { + "description": "FQDN of the route resource.", + "type": "string", + "readOnly": true + }, + "customDomains": { + "description": "Custom domain bindings for http Routes' hostnames.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "rules": { + "description": "Routing Rules for http route resource.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpRouteRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + } + }, + "x-ms-client-flatten": true + }, + "CustomDomain": { + "description": "Custom Domain of a Http Route Config", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Hostname.", + "type": "string" + }, + "bindingType": { + "description": "Custom Domain binding type.", + "enum": [ + "Disabled", + "SniEnabled" + ], + "type": "string", + "x-ms-enum": { + "name": "bindingType", + "modelAsString": true + } + }, + "certificateId": { + "description": "Resource Id of the Certificate to be bound to this hostname. Must exist in the Managed Environment.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + } + } + }, + "HttpRouteProvisioningErrors": { + "description": "List of provisioning errors for a http route config object", + "type": "object", + "properties": { + "timestamp": { + "description": "Timestamp error occured at", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "message": { + "description": "Description or error message", + "type": "string", + "readOnly": true + } + } + }, + "HttpRouteTarget": { + "description": "Targets - Container App Names, Revision Names, Labels.", + "type": "object", + "properties": { + "containerAppName": { + "description": "Container App Name to route requests to", + "type": "string" + }, + "revisionName": { + "description": "Revision to route requests to", + "type": "string" + }, + "labelName": { + "description": "Label/Revision to route requests to", + "type": "string" + }, + "weight": { + "description": "Weighted routing", + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100 + } + } + }, + "HttpRouteMatch": { + "description": "Criteria to match on", + "type": "object", + "properties": { + "prefix": { + "description": "match on all prefix's. Not exact", + "type": "string" + }, + "path": { + "description": "match on exact path", + "type": "string" + }, + "pathSeparatedPrefix": { + "description": "match on all prefix's. Not exact", + "type": "string" + }, + "caseSensitive": { + "description": "path case sensitive, default is true", + "type": "boolean" + } + } + }, + "HttpRouteAction": { + "description": "Action to perform once matching of routes is done", + "type": "object", + "properties": { + "prefixRewrite": { + "description": "Rewrite prefix, default is no rewrites", + "type": "string" + } + } + }, + "HttpRoute": { + "description": "Http Routes configuration, including paths to match on and whether or not rewrites are to be done.", + "type": "object", + "properties": { + "match": { + "description": "Conditions route will match on", + "$ref": "#/definitions/HttpRouteMatch" + }, + "action": { + "description": "Once route is matched, what is the desired action", + "$ref": "#/definitions/HttpRouteAction" + } + } + }, + "HttpRouteRule": { + "description": "Http Route rule.", + "type": "object", + "properties": { + "targets": { + "description": "Targets- container apps, revisions, labels", + "type": "array", + "items": { + "$ref": "#/definitions/HttpRouteTarget" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "routes": { + "description": "Routing configuration that will allow matches on specific paths/headers.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpRoute" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "HttpRouteProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "Updating", + "Deleting", + "Pending" + ], + "x-ms-enum": { + "name": "HttpRouteProvisioningState", + "modelAsString": true + } + }, + "ManagedHttpRouteConfigCollection": { + "description": "Collection of Advanced Ingress Routing Config resources.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpRouteConfig" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": 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/2024-08-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json new file mode 100644 index 000000000000..24114df4a985 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_CreateOrUpdate.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "httpRouteName": "httproutefriendlyname", + "api-version": "2024-08-02-preview", + "managedHttpRouteEnvelope": { + "location": "East US", + "properties": { + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "revisionName": "rev-1", + "weight": 100 + } + ], + "routes": [ + { + "match": { + "path": "/v1", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-1", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app1.example.com", + "provisioningState": "InProgress", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "revisionName": "rev-1", + "weight": 100 + } + ], + "routes": [ + { + "match": { + "path": "/v1", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-1", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app1.example.com", + "provisioningState": "Succeeded", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "revisionName": "rev-1", + "weight": 100 + } + ], + "routes": [ + { + "match": { + "path": "/v1", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Delete.json new file mode 100644 index 000000000000..da8d080b13f8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "httpRouteName": "test-http-route", + "api-version": "2024-08-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Get.json new file mode 100644 index 000000000000..de423256d59e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "httpRouteName": "httproutefriendlyname", + "api-version": "2024-08-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-1", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app1.example.com", + "provisioningState": "Succeeded", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "revisionName": "rev-1", + "weight": 100 + } + ], + "routes": [ + { + "match": { + "prefix": "/api", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json new file mode 100644 index 000000000000..3883efab41de --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_ListByManagedEnvironment.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-08-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-1", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app1.example.com", + "provisioningState": "Succeeded", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "containerAppName": "containerApp1" + } + ], + "routes": [ + { + "match": { + "prefix": "/api", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-2", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app2.example.com", + "provisioningState": "Succeeded", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-2" + } + ], + "rules": [ + { + "targets": [ + { + "containerAppName": "containerApp2", + "revisionName": "rev-2", + "weight": 50 + }, + { + "containerAppName": "containerApp2", + "revisionName": "rev-3", + "weight": 50 + } + ], + "routes": [ + { + "match": { + "prefix": "/api", + "caseSensitive": false + }, + "action": { + "prefixRewrite": "/v2/api" + } + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Patch.json new file mode 100644 index 000000000000..cf8f3f029cd2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/HttpRouteConfig_Patch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "httpRouteName": "httproutefriendlyname", + "api-version": "2024-08-02-preview", + "managedHttpRouteEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/httpRoutes/route-1", + "type": "Microsoft.App/managedEnvironments/httpRoutes", + "location": "East US", + "properties": { + "fqdn": "app1.example.com", + "provisioningState": "InProgress", + "customDomains": [ + { + "name": "example.com", + "bindingType": "SniEnabled", + "certificateId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/certificate-1" + } + ], + "rules": [ + { + "targets": [ + { + "revisionName": "rev-1", + "weight": 100 + } + ], + "routes": [ + { + "match": { + "path": "/v1", + "caseSensitive": true + }, + "action": { + "prefixRewrite": "/v1/api" + } + } + ] + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md index 60a3a8a1c108..1b3e185ab06a 100644 --- a/specification/app/resource-manager/readme.md +++ b/specification/app/resource-manager/readme.md @@ -54,6 +54,7 @@ input-file: - Microsoft.App/preview/2024-08-02-preview/DotNetComponents.json - Microsoft.App/preview/2024-08-02-preview/FunctionsExtension.json - Microsoft.App/preview/2024-08-02-preview/Global.json + - Microsoft.App/preview/2024-08-02-preview/HttpRouteConfig.json - Microsoft.App/preview/2024-08-02-preview/JavaComponents.json - Microsoft.App/preview/2024-08-02-preview/Jobs.json - Microsoft.App/preview/2024-08-02-preview/LogicAppsExtension.json