UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

372 lines (371 loc) • 21 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Application gateway resource. * * Uses Azure REST API version 2024-05-01. In version 2.x of the Azure Native provider, it used API version 2023-02-01. * * Other available API versions: 2018-06-01, 2018-07-01, 2018-08-01, 2018-10-01, 2018-11-01, 2018-12-01, 2019-02-01, 2019-04-01, 2019-06-01, 2019-07-01, 2019-08-01, 2019-09-01, 2019-11-01, 2019-12-01, 2020-03-01, 2020-04-01, 2020-05-01, 2020-06-01, 2020-07-01, 2020-08-01, 2020-11-01, 2021-02-01, 2021-03-01, 2021-05-01, 2021-08-01, 2022-01-01, 2022-05-01, 2022-07-01, 2022-09-01, 2022-11-01, 2023-02-01, 2023-04-01, 2023-05-01, 2023-06-01, 2023-09-01, 2023-11-01, 2024-01-01, 2024-03-01, 2024-07-01. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native network [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ export declare class ApplicationGateway extends pulumi.CustomResource { /** * Get an existing ApplicationGateway 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 opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ApplicationGateway; /** * Returns true if the given object is an instance of ApplicationGateway. 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 ApplicationGateway; /** * Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly authenticationCertificates: pulumi.Output<outputs.network.ApplicationGatewayAuthenticationCertificateResponse[] | undefined>; /** * Autoscale Configuration. */ readonly autoscaleConfiguration: pulumi.Output<outputs.network.ApplicationGatewayAutoscaleConfigurationResponse | undefined>; /** * The Azure API version of the resource. */ readonly azureApiVersion: pulumi.Output<string>; /** * Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly backendAddressPools: pulumi.Output<outputs.network.ApplicationGatewayBackendAddressPoolResponse[] | undefined>; /** * Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly backendHttpSettingsCollection: pulumi.Output<outputs.network.ApplicationGatewayBackendHttpSettingsResponse[] | undefined>; /** * Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly backendSettingsCollection: pulumi.Output<outputs.network.ApplicationGatewayBackendSettingsResponse[] | undefined>; /** * Custom error configurations of the application gateway resource. */ readonly customErrorConfigurations: pulumi.Output<outputs.network.ApplicationGatewayCustomErrorResponse[] | undefined>; /** * The default predefined SSL Policy applied on the application gateway resource. */ readonly defaultPredefinedSslPolicy: pulumi.Output<string>; /** * Whether FIPS is enabled on the application gateway resource. */ readonly enableFips: pulumi.Output<boolean | undefined>; /** * Whether HTTP2 is enabled on the application gateway resource. */ readonly enableHttp2: pulumi.Output<boolean | undefined>; /** * A unique read-only string that changes whenever the resource is updated. */ readonly etag: pulumi.Output<string>; /** * Reference to the FirewallPolicy resource. */ readonly firewallPolicy: pulumi.Output<outputs.network.SubResourceResponse | undefined>; /** * If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. */ readonly forceFirewallPolicyAssociation: pulumi.Output<boolean | undefined>; /** * Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly frontendIPConfigurations: pulumi.Output<outputs.network.ApplicationGatewayFrontendIPConfigurationResponse[] | undefined>; /** * Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly frontendPorts: pulumi.Output<outputs.network.ApplicationGatewayFrontendPortResponse[] | undefined>; /** * Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly gatewayIPConfigurations: pulumi.Output<outputs.network.ApplicationGatewayIPConfigurationResponse[] | undefined>; /** * Global Configuration. */ readonly globalConfiguration: pulumi.Output<outputs.network.ApplicationGatewayGlobalConfigurationResponse | undefined>; /** * Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly httpListeners: pulumi.Output<outputs.network.ApplicationGatewayHttpListenerResponse[] | undefined>; /** * The identity of the application gateway, if configured. */ readonly identity: pulumi.Output<outputs.network.ManagedServiceIdentityResponse | undefined>; /** * Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly listeners: pulumi.Output<outputs.network.ApplicationGatewayListenerResponse[] | undefined>; /** * Load distribution policies of the application gateway resource. */ readonly loadDistributionPolicies: pulumi.Output<outputs.network.ApplicationGatewayLoadDistributionPolicyResponse[] | undefined>; /** * Resource location. */ readonly location: pulumi.Output<string | undefined>; /** * Resource name. */ readonly name: pulumi.Output<string>; /** * Operational state of the application gateway resource. */ readonly operationalState: pulumi.Output<string>; /** * Private Endpoint connections on application gateway. */ readonly privateEndpointConnections: pulumi.Output<outputs.network.ApplicationGatewayPrivateEndpointConnectionResponse[]>; /** * PrivateLink configurations on application gateway. */ readonly privateLinkConfigurations: pulumi.Output<outputs.network.ApplicationGatewayPrivateLinkConfigurationResponse[] | undefined>; /** * Probes of the application gateway resource. */ readonly probes: pulumi.Output<outputs.network.ApplicationGatewayProbeResponse[] | undefined>; /** * The provisioning state of the application gateway resource. */ readonly provisioningState: pulumi.Output<string>; /** * Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly redirectConfigurations: pulumi.Output<outputs.network.ApplicationGatewayRedirectConfigurationResponse[] | undefined>; /** * Request routing rules of the application gateway resource. */ readonly requestRoutingRules: pulumi.Output<outputs.network.ApplicationGatewayRequestRoutingRuleResponse[] | undefined>; /** * The resource GUID property of the application gateway resource. */ readonly resourceGuid: pulumi.Output<string>; /** * Rewrite rules for the application gateway resource. */ readonly rewriteRuleSets: pulumi.Output<outputs.network.ApplicationGatewayRewriteRuleSetResponse[] | undefined>; /** * Routing rules of the application gateway resource. */ readonly routingRules: pulumi.Output<outputs.network.ApplicationGatewayRoutingRuleResponse[] | undefined>; /** * SKU of the application gateway resource. */ readonly sku: pulumi.Output<outputs.network.ApplicationGatewaySkuResponse | undefined>; /** * SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly sslCertificates: pulumi.Output<outputs.network.ApplicationGatewaySslCertificateResponse[] | undefined>; /** * SSL policy of the application gateway resource. */ readonly sslPolicy: pulumi.Output<outputs.network.ApplicationGatewaySslPolicyResponse | undefined>; /** * SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly sslProfiles: pulumi.Output<outputs.network.ApplicationGatewaySslProfileResponse[] | undefined>; /** * Resource tags. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly trustedClientCertificates: pulumi.Output<outputs.network.ApplicationGatewayTrustedClientCertificateResponse[] | undefined>; /** * Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly trustedRootCertificates: pulumi.Output<outputs.network.ApplicationGatewayTrustedRootCertificateResponse[] | undefined>; /** * Resource type. */ readonly type: pulumi.Output<string>; /** * URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ readonly urlPathMaps: pulumi.Output<outputs.network.ApplicationGatewayUrlPathMapResponse[] | undefined>; /** * Web application firewall configuration. */ readonly webApplicationFirewallConfiguration: pulumi.Output<outputs.network.ApplicationGatewayWebApplicationFirewallConfigurationResponse | undefined>; /** * A list of availability zones denoting where the resource needs to come from. */ readonly zones: pulumi.Output<string[] | undefined>; /** * Create a ApplicationGateway 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: ApplicationGatewayArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a ApplicationGateway resource. */ export interface ApplicationGatewayArgs { /** * The name of the application gateway. */ applicationGatewayName?: pulumi.Input<string>; /** * Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ authenticationCertificates?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayAuthenticationCertificateArgs>[]>; /** * Autoscale Configuration. */ autoscaleConfiguration?: pulumi.Input<inputs.network.ApplicationGatewayAutoscaleConfigurationArgs>; /** * Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ backendAddressPools?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayBackendAddressPoolArgs>[]>; /** * Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ backendHttpSettingsCollection?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayBackendHttpSettingsArgs>[]>; /** * Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ backendSettingsCollection?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayBackendSettingsArgs>[]>; /** * Custom error configurations of the application gateway resource. */ customErrorConfigurations?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayCustomErrorArgs>[]>; /** * Whether FIPS is enabled on the application gateway resource. */ enableFips?: pulumi.Input<boolean>; /** * Whether HTTP2 is enabled on the application gateway resource. */ enableHttp2?: pulumi.Input<boolean>; /** * Reference to the FirewallPolicy resource. */ firewallPolicy?: pulumi.Input<inputs.network.SubResourceArgs>; /** * If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config. */ forceFirewallPolicyAssociation?: pulumi.Input<boolean>; /** * Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ frontendIPConfigurations?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayFrontendIPConfigurationArgs>[]>; /** * Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ frontendPorts?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayFrontendPortArgs>[]>; /** * Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ gatewayIPConfigurations?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayIPConfigurationArgs>[]>; /** * Global Configuration. */ globalConfiguration?: pulumi.Input<inputs.network.ApplicationGatewayGlobalConfigurationArgs>; /** * Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ httpListeners?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayHttpListenerArgs>[]>; /** * Resource ID. */ id?: pulumi.Input<string>; /** * The identity of the application gateway, if configured. */ identity?: pulumi.Input<inputs.network.ManagedServiceIdentityArgs>; /** * Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ listeners?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayListenerArgs>[]>; /** * Load distribution policies of the application gateway resource. */ loadDistributionPolicies?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayLoadDistributionPolicyArgs>[]>; /** * Resource location. */ location?: pulumi.Input<string>; /** * PrivateLink configurations on application gateway. */ privateLinkConfigurations?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayPrivateLinkConfigurationArgs>[]>; /** * Probes of the application gateway resource. */ probes?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayProbeArgs>[]>; /** * Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ redirectConfigurations?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayRedirectConfigurationArgs>[]>; /** * Request routing rules of the application gateway resource. */ requestRoutingRules?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayRequestRoutingRuleArgs>[]>; /** * The name of the resource group. */ resourceGroupName: pulumi.Input<string>; /** * Rewrite rules for the application gateway resource. */ rewriteRuleSets?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayRewriteRuleSetArgs>[]>; /** * Routing rules of the application gateway resource. */ routingRules?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayRoutingRuleArgs>[]>; /** * SKU of the application gateway resource. */ sku?: pulumi.Input<inputs.network.ApplicationGatewaySkuArgs>; /** * SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ sslCertificates?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewaySslCertificateArgs>[]>; /** * SSL policy of the application gateway resource. */ sslPolicy?: pulumi.Input<inputs.network.ApplicationGatewaySslPolicyArgs>; /** * SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ sslProfiles?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewaySslProfileArgs>[]>; /** * Resource tags. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input<string>; }>; /** * Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ trustedClientCertificates?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayTrustedClientCertificateArgs>[]>; /** * Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ trustedRootCertificates?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayTrustedRootCertificateArgs>[]>; /** * URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits). */ urlPathMaps?: pulumi.Input<pulumi.Input<inputs.network.ApplicationGatewayUrlPathMapArgs>[]>; /** * Web application firewall configuration. */ webApplicationFirewallConfiguration?: pulumi.Input<inputs.network.ApplicationGatewayWebApplicationFirewallConfigurationArgs>; /** * A list of availability zones denoting where the resource needs to come from. */ zones?: pulumi.Input<pulumi.Input<string>[]>; }