import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * > **Note:** This resource is applicable only for Spring Cloud Service with enterprise tier. * * Manages a Spring Cloud Gateway. * * !> **Note:** Azure Spring Apps is now deprecated and will be retired on 2028-05-31 - as such the `azure.appplatform.SpringCloudGateway` 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 exampleSpringCloudGateway = new azure.appplatform.SpringCloudGateway("example", { * name: "default", * springCloudServiceId: exampleSpringCloudService.id, * httpsOnly: false, * publicNetworkAccessEnabled: true, * instanceCount: 2, * apiMetadata: { * description: "example description", * documentationUrl: "https://www.example.com/docs", * serverUrl: "https://wwww.example.com", * title: "example title", * version: "1.0", * }, * cors: { * credentialsAllowed: false, * allowedHeaders: ["*"], * allowedMethods: ["PUT"], * allowedOrigins: ["example.com"], * exposedHeaders: ["x-example-header"], * maxAgeSeconds: 86400, * }, * quota: { * cpu: "1", * memory: "2Gi", * }, * sso: { * clientId: "example id", * clientSecret: "example secret", * issuerUri: "https://www.test.com/issueToken", * scopes: ["read"], * }, * localResponseCachePerInstance: { * size: "100MB", * timeToLive: "30s", * }, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.AppPlatform` - 2024-01-01-preview * * ## Import * * Spring Cloud Gateways can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:appplatform/springCloudGateway:SpringCloudGateway example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resourceGroup1/providers/Microsoft.AppPlatform/spring/service1/gateways/gateway1 * ``` */ export declare class SpringCloudGateway extends pulumi.CustomResource { /** * Get an existing SpringCloudGateway 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?: SpringCloudGatewayState, opts?: pulumi.CustomResourceOptions): SpringCloudGateway; /** * Returns true if the given object is an instance of SpringCloudGateway. 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 SpringCloudGateway; /** * A `apiMetadata` block as defined below. */ readonly apiMetadata: pulumi.Output; /** * Specifies a list of Spring Cloud Application Performance Monitoring IDs. */ readonly applicationPerformanceMonitoringIds: pulumi.Output; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ readonly applicationPerformanceMonitoringTypes: pulumi.Output; /** * A `clientAuthorization` block as defined below. */ readonly clientAuthorization: pulumi.Output; /** * A `cors` block as defined below. */ readonly cors: pulumi.Output; /** * Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ readonly environmentVariables: pulumi.Output<{ [key: string]: string; } | undefined>; /** * is only https is allowed? */ readonly httpsOnly: pulumi.Output; /** * Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. */ readonly instanceCount: pulumi.Output; /** * A `localResponseCachePerInstance` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ readonly localResponseCachePerInstance: pulumi.Output; /** * A `localResponseCachePerRoute` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ readonly localResponseCachePerRoute: pulumi.Output; /** * The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. */ readonly name: pulumi.Output; /** * Indicates whether the Spring Cloud Gateway exposes endpoint. */ readonly publicNetworkAccessEnabled: pulumi.Output; /** * A `quota` block as defined below. */ readonly quota: pulumi.Output; /** * Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ readonly sensitiveEnvironmentVariables: pulumi.Output<{ [key: string]: string; } | undefined>; /** * The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. */ readonly springCloudServiceId: pulumi.Output; /** * A `sso` block as defined below. */ readonly sso: pulumi.Output; /** * URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true. */ readonly url: pulumi.Output; /** * Create a SpringCloudGateway 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: SpringCloudGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering SpringCloudGateway resources. */ export interface SpringCloudGatewayState { /** * A `apiMetadata` block as defined below. */ apiMetadata?: pulumi.Input; /** * Specifies a list of Spring Cloud Application Performance Monitoring IDs. */ applicationPerformanceMonitoringIds?: pulumi.Input[]>; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ applicationPerformanceMonitoringTypes?: pulumi.Input[]>; /** * A `clientAuthorization` block as defined below. */ clientAuthorization?: pulumi.Input; /** * A `cors` block as defined below. */ cors?: pulumi.Input; /** * Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ environmentVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * is only https is allowed? */ httpsOnly?: pulumi.Input; /** * Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. */ instanceCount?: pulumi.Input; /** * A `localResponseCachePerInstance` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ localResponseCachePerInstance?: pulumi.Input; /** * A `localResponseCachePerRoute` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ localResponseCachePerRoute?: pulumi.Input; /** * The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. */ name?: pulumi.Input; /** * Indicates whether the Spring Cloud Gateway exposes endpoint. */ publicNetworkAccessEnabled?: pulumi.Input; /** * A `quota` block as defined below. */ quota?: pulumi.Input; /** * Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ sensitiveEnvironmentVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. */ springCloudServiceId?: pulumi.Input; /** * A `sso` block as defined below. */ sso?: pulumi.Input; /** * URL of the Spring Cloud Gateway, exposed when 'public_network_access_enabled' is true. */ url?: pulumi.Input; } /** * The set of arguments for constructing a SpringCloudGateway resource. */ export interface SpringCloudGatewayArgs { /** * A `apiMetadata` block as defined below. */ apiMetadata?: pulumi.Input; /** * Specifies a list of Spring Cloud Application Performance Monitoring IDs. */ applicationPerformanceMonitoringIds?: pulumi.Input[]>; /** * Specifies a list of application performance monitoring types used in the Spring Cloud Gateway. The allowed values are `AppDynamics`, `ApplicationInsights`, `Dynatrace`, `ElasticAPM` and `NewRelic`. */ applicationPerformanceMonitoringTypes?: pulumi.Input[]>; /** * A `clientAuthorization` block as defined below. */ clientAuthorization?: pulumi.Input; /** * A `cors` block as defined below. */ cors?: pulumi.Input; /** * Specifies the environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ environmentVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * is only https is allowed? */ httpsOnly?: pulumi.Input; /** * Specifies the required instance count of the Spring Cloud Gateway. Possible Values are between `1` and `500`. Defaults to `1` if not specified. */ instanceCount?: pulumi.Input; /** * A `localResponseCachePerInstance` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ localResponseCachePerInstance?: pulumi.Input; /** * A `localResponseCachePerRoute` block as defined below. Only one of `localResponseCachePerInstance` or `localResponseCachePerRoute` can be specified. */ localResponseCachePerRoute?: pulumi.Input; /** * The name which should be used for this Spring Cloud Gateway. Changing this forces a new Spring Cloud Gateway to be created. The only possible value is `default`. */ name?: pulumi.Input; /** * Indicates whether the Spring Cloud Gateway exposes endpoint. */ publicNetworkAccessEnabled?: pulumi.Input; /** * A `quota` block as defined below. */ quota?: pulumi.Input; /** * Specifies the sensitive environment variables of the Spring Cloud Gateway as a map of key-value pairs. */ sensitiveEnvironmentVariables?: pulumi.Input<{ [key: string]: pulumi.Input; }>; /** * The ID of the Spring Cloud Service. Changing this forces a new Spring Cloud Gateway to be created. */ springCloudServiceId: pulumi.Input; /** * A `sso` block as defined below. */ sso?: pulumi.Input; }