@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [ • 21 kB
TypeScript
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>[]>;
}