Spring Cloud Gateway Route Config Args
Manages a Spring Cloud Gateway Route Config.
Note: This resource is applicable only for Spring Cloud Service with enterprise tier. !>Note: Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the
azure.appplatform.SpringCloudGatewayRouteConfig
resource is deprecated and will be removed in a future major version of the AzureRM Provider. See https://aka.ms/asaretirement for more information.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example",
location: "West Europe",
});
const exampleSpringCloudService = new azure.appplatform.SpringCloudService("example", {
name: "example",
location: example.location,
resourceGroupName: example.name,
skuName: "E0",
});
const exampleSpringCloudApp = new azure.appplatform.SpringCloudApp("example", {
name: "example",
resourceGroupName: example.name,
serviceName: exampleSpringCloudService.name,
});
const exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway("example", {
name: "default",
springCloudServiceId: exampleSpringCloudService.id,
});
const exampleSpringCloudGatewayRouteConfig = new azure.appplatform.SpringCloudGatewayRouteConfig("example", {
name: "example",
springCloudGatewayId: exampleSpringCloudGateway.id,
springCloudAppId: exampleSpringCloudApp.id,
protocol: "HTTPS",
routes: [{
description: "example description",
filters: [
"StripPrefix=2",
"RateLimit=1,1s",
],
order: 1,
predicates: ["Path=/api5/customer/**"],
ssoValidationEnabled: true,
title: "myApp route config",
tokenRelay: true,
uri: "https://www.example.com",
classificationTags: [
"tag1",
"tag2",
],
}],
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example",
location="West Europe")
example_spring_cloud_service = azure.appplatform.SpringCloudService("example",
name="example",
location=example.location,
resource_group_name=example.name,
sku_name="E0")
example_spring_cloud_app = azure.appplatform.SpringCloudApp("example",
name="example",
resource_group_name=example.name,
service_name=example_spring_cloud_service.name)
example_spring_cloud_gateway = azure.appplatform.SpringCloudGateway("example",
name="default",
spring_cloud_service_id=example_spring_cloud_service.id)
example_spring_cloud_gateway_route_config = azure.appplatform.SpringCloudGatewayRouteConfig("example",
name="example",
spring_cloud_gateway_id=example_spring_cloud_gateway.id,
spring_cloud_app_id=example_spring_cloud_app.id,
protocol="HTTPS",
routes=[{
"description": "example description",
"filters": [
"StripPrefix=2",
"RateLimit=1,1s",
],
"order": 1,
"predicates": ["Path=/api5/customer/**"],
"sso_validation_enabled": True,
"title": "myApp route config",
"token_relay": True,
"uri": "https://www.example.com",
"classification_tags": [
"tag1",
"tag2",
],
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example",
Location = "West Europe",
});
var exampleSpringCloudService = new Azure.AppPlatform.SpringCloudService("example", new()
{
Name = "example",
Location = example.Location,
ResourceGroupName = example.Name,
SkuName = "E0",
});
var exampleSpringCloudApp = new Azure.AppPlatform.SpringCloudApp("example", new()
{
Name = "example",
ResourceGroupName = example.Name,
ServiceName = exampleSpringCloudService.Name,
});
var exampleSpringCloudGateway = new Azure.AppPlatform.SpringCloudGateway("example", new()
{
Name = "default",
SpringCloudServiceId = exampleSpringCloudService.Id,
});
var exampleSpringCloudGatewayRouteConfig = new Azure.AppPlatform.SpringCloudGatewayRouteConfig("example", new()
{
Name = "example",
SpringCloudGatewayId = exampleSpringCloudGateway.Id,
SpringCloudAppId = exampleSpringCloudApp.Id,
Protocol = "HTTPS",
Routes = new[]
{
new Azure.AppPlatform.Inputs.SpringCloudGatewayRouteConfigRouteArgs
{
Description = "example description",
Filters = new[]
{
"StripPrefix=2",
"RateLimit=1,1s",
},
Order = 1,
Predicates = new[]
{
"Path=/api5/customer/**",
},
SsoValidationEnabled = true,
Title = "myApp route config",
TokenRelay = true,
Uri = "https://www.example.com",
ClassificationTags = new[]
{
"tag1",
"tag2",
},
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appplatform"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleSpringCloudService, err := appplatform.NewSpringCloudService(ctx, "example", &appplatform.SpringCloudServiceArgs{
Name: pulumi.String("example"),
Location: example.Location,
ResourceGroupName: example.Name,
SkuName: pulumi.String("E0"),
})
if err != nil {
return err
}
exampleSpringCloudApp, err := appplatform.NewSpringCloudApp(ctx, "example", &appplatform.SpringCloudAppArgs{
Name: pulumi.String("example"),
ResourceGroupName: example.Name,
ServiceName: exampleSpringCloudService.Name,
})
if err != nil {
return err
}
exampleSpringCloudGateway, err := appplatform.NewSpringCloudGateway(ctx, "example", &appplatform.SpringCloudGatewayArgs{
Name: pulumi.String("default"),
SpringCloudServiceId: exampleSpringCloudService.ID(),
})
if err != nil {
return err
}
_, err = appplatform.NewSpringCloudGatewayRouteConfig(ctx, "example", &appplatform.SpringCloudGatewayRouteConfigArgs{
Name: pulumi.String("example"),
SpringCloudGatewayId: exampleSpringCloudGateway.ID(),
SpringCloudAppId: exampleSpringCloudApp.ID(),
Protocol: pulumi.String("HTTPS"),
Routes: appplatform.SpringCloudGatewayRouteConfigRouteArray{
&appplatform.SpringCloudGatewayRouteConfigRouteArgs{
Description: pulumi.String("example description"),
Filters: pulumi.StringArray{
pulumi.String("StripPrefix=2"),
pulumi.String("RateLimit=1,1s"),
},
Order: pulumi.Int(1),
Predicates: pulumi.StringArray{
pulumi.String("Path=/api5/customer/**"),
},
SsoValidationEnabled: pulumi.Bool(true),
Title: pulumi.String("myApp route config"),
TokenRelay: pulumi.Bool(true),
Uri: pulumi.String("https://www.example.com"),
ClassificationTags: pulumi.StringArray{
pulumi.String("tag1"),
pulumi.String("tag2"),
},
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.appplatform.SpringCloudService;
import com.pulumi.azure.appplatform.SpringCloudServiceArgs;
import com.pulumi.azure.appplatform.SpringCloudApp;
import com.pulumi.azure.appplatform.SpringCloudAppArgs;
import com.pulumi.azure.appplatform.SpringCloudGateway;
import com.pulumi.azure.appplatform.SpringCloudGatewayArgs;
import com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfig;
import com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfigArgs;
import com.pulumi.azure.appplatform.inputs.SpringCloudGatewayRouteConfigRouteArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example")
.location("West Europe")
.build());
var exampleSpringCloudService = new SpringCloudService("exampleSpringCloudService", SpringCloudServiceArgs.builder()
.name("example")
.location(example.location())
.resourceGroupName(example.name())
.skuName("E0")
.build());
var exampleSpringCloudApp = new SpringCloudApp("exampleSpringCloudApp", SpringCloudAppArgs.builder()
.name("example")
.resourceGroupName(example.name())
.serviceName(exampleSpringCloudService.name())
.build());
var exampleSpringCloudGateway = new SpringCloudGateway("exampleSpringCloudGateway", SpringCloudGatewayArgs.builder()
.name("default")
.springCloudServiceId(exampleSpringCloudService.id())
.build());
var exampleSpringCloudGatewayRouteConfig = new SpringCloudGatewayRouteConfig("exampleSpringCloudGatewayRouteConfig", SpringCloudGatewayRouteConfigArgs.builder()
.name("example")
.springCloudGatewayId(exampleSpringCloudGateway.id())
.springCloudAppId(exampleSpringCloudApp.id())
.protocol("HTTPS")
.routes(SpringCloudGatewayRouteConfigRouteArgs.builder()
.description("example description")
.filters(
"StripPrefix=2",
"RateLimit=1,1s")
.order(1)
.predicates("Path=/api5/customer/**")
.ssoValidationEnabled(true)
.title("myApp route config")
.tokenRelay(true)
.uri("https://www.example.com")
.classificationTags(
"tag1",
"tag2")
.build())
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example
location: West Europe
exampleSpringCloudService:
type: azure:appplatform:SpringCloudService
name: example
properties:
name: example
location: ${example.location}
resourceGroupName: ${example.name}
skuName: E0
exampleSpringCloudApp:
type: azure:appplatform:SpringCloudApp
name: example
properties:
name: example
resourceGroupName: ${example.name}
serviceName: ${exampleSpringCloudService.name}
exampleSpringCloudGateway:
type: azure:appplatform:SpringCloudGateway
name: example
properties:
name: default
springCloudServiceId: ${exampleSpringCloudService.id}
exampleSpringCloudGatewayRouteConfig:
type: azure:appplatform:SpringCloudGatewayRouteConfig
name: example
properties:
name: example
springCloudGatewayId: ${exampleSpringCloudGateway.id}
springCloudAppId: ${exampleSpringCloudApp.id}
protocol: HTTPS
routes:
- description: example description
filters:
- StripPrefix=2
- RateLimit=1,1s
order: 1
predicates:
- Path=/api5/customer/**
ssoValidationEnabled: true
title: myApp route config
tokenRelay: true
uri: https://www.example.com
classificationTags:
- tag1
- tag2
Import
Spring Cloud Gateway Route Configs can be imported using the resource id
, e.g.
$ pulumi import azure:appplatform/springCloudGatewayRouteConfig:SpringCloudGatewayRouteConfig example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1/routeConfigs/routeConfig1
Constructors
Properties
One or more open_api
blocks as defined below.
Specifies a list of conditions to evaluate a route for each request in app level. Each predicate may be evaluated against request headers and parameter values. All of the predicates associated with a route must evaluate to true for the route to be matched to the request.
One or more route
blocks as defined below.
The ID of the Spring Cloud App.
The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created.
Should the sso validation be enabled in app level? //////