import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * 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 * * ```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", * ], * }], * }); * ``` * * ## 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 * ``` */ export declare class SpringCloudGatewayRouteConfig extends pulumi.CustomResource { /** * Get an existing SpringCloudGatewayRouteConfig resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SpringCloudGatewayRouteConfigState, opts?: pulumi.CustomResourceOptions): SpringCloudGatewayRouteConfig; /** * Returns true if the given object is an instance of SpringCloudGatewayRouteConfig. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is SpringCloudGatewayRouteConfig; /** * 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. */ readonly filters: pulumi.Output; /** * 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. */ readonly name: pulumi.Output; /** * One or more `openApi` blocks as defined below. */ readonly openApi: pulumi.Output; /** * 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. */ readonly predicates: pulumi.Output; /** * Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`. * * > **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption. */ readonly protocol: pulumi.Output; /** * One or more `route` blocks as defined below. */ readonly routes: pulumi.Output; /** * The ID of the Spring Cloud App. */ readonly springCloudAppId: pulumi.Output; /** * The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created. */ readonly springCloudGatewayId: pulumi.Output; /** * Should the sso validation be enabled in app level? */ readonly ssoValidationEnabled: pulumi.Output; /** * Create a SpringCloudGatewayRouteConfig resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SpringCloudGatewayRouteConfigArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SpringCloudGatewayRouteConfig resources. */ export interface SpringCloudGatewayRouteConfigState { /** * 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. */ filters?: pulumi.Input[]>; /** * 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. */ name?: pulumi.Input; /** * One or more `openApi` blocks as defined below. */ openApi?: pulumi.Input; /** * 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. */ predicates?: pulumi.Input[]>; /** * Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`. * * > **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption. */ protocol?: pulumi.Input; /** * One or more `route` blocks as defined below. */ routes?: pulumi.Input[]>; /** * The ID of the Spring Cloud App. */ springCloudAppId?: pulumi.Input; /** * The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created. */ springCloudGatewayId?: pulumi.Input; /** * Should the sso validation be enabled in app level? */ ssoValidationEnabled?: pulumi.Input; } /** * The set of arguments for constructing a SpringCloudGatewayRouteConfig resource. */ export interface SpringCloudGatewayRouteConfigArgs { /** * 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. */ filters?: pulumi.Input[]>; /** * 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. */ name?: pulumi.Input; /** * One or more `openApi` blocks as defined below. */ openApi?: pulumi.Input; /** * 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. */ predicates?: pulumi.Input[]>; /** * Specifies the protocol of routed Spring Cloud App. Allowed values are `HTTP` and `HTTPS`. * * > **Note:** You likely want to use `HTTPS` in a production environment, since `HTTP` offers no encryption. */ protocol: pulumi.Input; /** * One or more `route` blocks as defined below. */ routes?: pulumi.Input[]>; /** * The ID of the Spring Cloud App. */ springCloudAppId?: pulumi.Input; /** * The ID of the Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway Route Config to be created. */ springCloudGatewayId: pulumi.Input; /** * Should the sso validation be enabled in app level? */ ssoValidationEnabled?: pulumi.Input; }