diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/JavaComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/JavaComponents.json index ec6edd3927de..34919c666455 100644 --- a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/JavaComponents.json +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/JavaComponents.json @@ -360,6 +360,43 @@ } }, "definitions": { + "ScgRoute": { + "description": "Spring Cloud Gateway route definition", + "type": "object", + "required": [ + "id", + "uri" + ], + "properties": { + "id": { + "description": "Id of the route", + "type": "string" + }, + "uri": { + "description": "Uri of the route", + "type": "string" + }, + "predicates": { + "description": "Predicates of the route", + "type": "array", + "items": { + "type": "string" + } + }, + "filters": { + "description": "Filters of the route", + "type": "array", + "items": { + "type": "string" + } + }, + "order": { + "description": "Order of the route", + "type": "integer", + "format": "int64" + } + } + }, "JavaComponentConfigurationProperty": { "description": "Configuration properties for a Java Component", "type": "object", @@ -418,6 +455,7 @@ "SpringBootAdmin", "SpringCloudEureka", "SpringCloudConfig", + "SpringCloudGateway", "Nacos" ], "type": "string", @@ -477,6 +515,32 @@ } } }, + "SpringCloudGatewayComponent": { + "description": "Spring Cloud Gateway properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JavaComponentProperties" + } + ], + "properties": { + "ingress": { + "$ref": "#/definitions/JavaComponentIngress", + "description": "Java Component Ingress configurations." + }, + "springCloudGatewayRoutes": { + "description": "Gateway route definition", + "type": "array", + "items": { + "$ref": "#/definitions/ScgRoute" + }, + "x-ms-identifiers": [ + "id" + ] + } + }, + "x-ms-discriminator-value": "SpringCloudGateway" + }, "SpringBootAdminComponent": { "description": "Spring Boot Admin properties.", "type": "object", @@ -559,4 +623,3 @@ } } } - diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/JavaComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/JavaComponents_List.json index 40a541a36b19..46e7c7a865db 100644 --- a/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/JavaComponents_List.json +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-08-02-preview/examples/JavaComponents_List.json @@ -48,10 +48,40 @@ "fqdn": "myjavacomponent.myenvironment.test.net" } } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/reddog", + "name": "reddog", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringCloudGateway", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.cloud.gateway.enabled", + "value": "true" + } + ], + "springCloudGatewayRoutes": [ + { + "id": "route1", + "uri": "https://otherjavacomponent.myenvironment.test.net", + "predicates": [ + "Path=/v1/{path}", + "After=2024-01-20T17:42:47.789-07:00[America/Denver]" + ], + "filters": [ + "SetPath=/{path}" + ] + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } } ] } } } } -