![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.appplatform.kotlin.SpringCloudGatewayRouteConfigArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.appplatform.kotlin
import com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfigArgs.builder
import com.pulumi.azure.appplatform.kotlin.inputs.SpringCloudGatewayRouteConfigOpenApiArgs
import com.pulumi.azure.appplatform.kotlin.inputs.SpringCloudGatewayRouteConfigOpenApiArgsBuilder
import com.pulumi.azure.appplatform.kotlin.inputs.SpringCloudGatewayRouteConfigRouteArgs
import com.pulumi.azure.appplatform.kotlin.inputs.SpringCloudGatewayRouteConfigRouteArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Manages a Spring Cloud Gateway Route Config.
* > **NOTE:** This resource is applicable only for Spring Cloud Service with enterprise tier.
* ## Example Usage
*
* ```typescript
* 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",
* ],
* }],
* });
* ```
* ```python
* 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",
* ],
* }])
* ```
* ```csharp
* 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",
* },
* },
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appplatform"
* "github.com/pulumi/pulumi-azure/sdk/v5/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
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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.
* ```sh
* $ pulumi import azure:appplatform/springCloudGatewayRouteConfig:SpringCloudGatewayRouteConfig example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1/routeConfigs/routeConfig1
* ```
* @property filters Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.
* @property name The name which should be used for this Spring Cloud Gateway Route Config. Changing this forces a new Spring Cloud Gateway Route Config to be created.
* @property openApi One or more `open_api` blocks as defined below.
* @property predicates 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.
* @property protocol Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`. Defaults to `HTTP`.
* > **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption.
* @property routes One or more `route` blocks as defined below.
* @property springCloudAppId The ID of the Spring Cloud App.
* @property springCloudGatewayId The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created.
* @property ssoValidationEnabled Should the sso validation be enabled in app level?
* */*/*/*/*/*/
*/
public data class SpringCloudGatewayRouteConfigArgs(
public val filters: Output>? = null,
public val name: Output? = null,
public val openApi: Output? = null,
public val predicates: Output>? = null,
public val protocol: Output? = null,
public val routes: Output>? = null,
public val springCloudAppId: Output? = null,
public val springCloudGatewayId: Output? = null,
public val ssoValidationEnabled: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfigArgs =
com.pulumi.azure.appplatform.SpringCloudGatewayRouteConfigArgs.builder()
.filters(filters?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.name(name?.applyValue({ args0 -> args0 }))
.openApi(openApi?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.predicates(predicates?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.protocol(protocol?.applyValue({ args0 -> args0 }))
.routes(routes?.applyValue({ args0 -> args0.map({ args0 -> args0.let({ args0 -> args0.toJava() }) }) }))
.springCloudAppId(springCloudAppId?.applyValue({ args0 -> args0 }))
.springCloudGatewayId(springCloudGatewayId?.applyValue({ args0 -> args0 }))
.ssoValidationEnabled(ssoValidationEnabled?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [SpringCloudGatewayRouteConfigArgs].
*/
@PulumiTagMarker
public class SpringCloudGatewayRouteConfigArgsBuilder internal constructor() {
private var filters: Output>? = null
private var name: Output? = null
private var openApi: Output? = null
private var predicates: Output>? = null
private var protocol: Output? = null
private var routes: Output>? = null
private var springCloudAppId: Output? = null
private var springCloudGatewayId: Output? = null
private var ssoValidationEnabled: Output? = null
/**
* @param value Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.
*/
@JvmName("cmrdsgxmlnlmegyj")
public suspend fun filters(`value`: Output>) {
this.filters = value
}
@JvmName("qiyojigwujtltvsd")
public suspend fun filters(vararg values: Output) {
this.filters = Output.all(values.asList())
}
/**
* @param values Specifies a list of filters which are used to modify the request before sending it to the target endpoint, or the received response in app level.
*/
@JvmName("dxwubhmbtmqdcyoh")
public suspend fun filters(values: List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy