@pulumi/azure-native
Version:
[](https://slack.pulumi.com) [](https://npmjs.com/package/@pulumi/azure-native) [;
exports.ApplicationGateway = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
/**
* 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.
*/
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, id, opts) {
return new ApplicationGateway(name, undefined, Object.assign(Object.assign({}, opts), { id: id }));
}
/**
* 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) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === ApplicationGateway.__pulumiType;
}
/**
* 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, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.resourceGroupName === undefined) && !opts.urn) {
throw new Error("Missing required property 'resourceGroupName'");
}
resourceInputs["applicationGatewayName"] = args ? args.applicationGatewayName : undefined;
resourceInputs["authenticationCertificates"] = args ? args.authenticationCertificates : undefined;
resourceInputs["autoscaleConfiguration"] = args ? args.autoscaleConfiguration : undefined;
resourceInputs["backendAddressPools"] = args ? args.backendAddressPools : undefined;
resourceInputs["backendHttpSettingsCollection"] = args ? args.backendHttpSettingsCollection : undefined;
resourceInputs["backendSettingsCollection"] = args ? args.backendSettingsCollection : undefined;
resourceInputs["customErrorConfigurations"] = args ? args.customErrorConfigurations : undefined;
resourceInputs["enableFips"] = args ? args.enableFips : undefined;
resourceInputs["enableHttp2"] = args ? args.enableHttp2 : undefined;
resourceInputs["firewallPolicy"] = args ? args.firewallPolicy : undefined;
resourceInputs["forceFirewallPolicyAssociation"] = args ? args.forceFirewallPolicyAssociation : undefined;
resourceInputs["frontendIPConfigurations"] = args ? args.frontendIPConfigurations : undefined;
resourceInputs["frontendPorts"] = args ? args.frontendPorts : undefined;
resourceInputs["gatewayIPConfigurations"] = args ? args.gatewayIPConfigurations : undefined;
resourceInputs["globalConfiguration"] = args ? args.globalConfiguration : undefined;
resourceInputs["httpListeners"] = args ? args.httpListeners : undefined;
resourceInputs["id"] = args ? args.id : undefined;
resourceInputs["identity"] = args ? args.identity : undefined;
resourceInputs["listeners"] = args ? args.listeners : undefined;
resourceInputs["loadDistributionPolicies"] = args ? args.loadDistributionPolicies : undefined;
resourceInputs["location"] = args ? args.location : undefined;
resourceInputs["privateLinkConfigurations"] = args ? args.privateLinkConfigurations : undefined;
resourceInputs["probes"] = args ? args.probes : undefined;
resourceInputs["redirectConfigurations"] = args ? args.redirectConfigurations : undefined;
resourceInputs["requestRoutingRules"] = args ? args.requestRoutingRules : undefined;
resourceInputs["resourceGroupName"] = args ? args.resourceGroupName : undefined;
resourceInputs["rewriteRuleSets"] = args ? args.rewriteRuleSets : undefined;
resourceInputs["routingRules"] = args ? args.routingRules : undefined;
resourceInputs["sku"] = args ? args.sku : undefined;
resourceInputs["sslCertificates"] = args ? args.sslCertificates : undefined;
resourceInputs["sslPolicy"] = args ? args.sslPolicy : undefined;
resourceInputs["sslProfiles"] = args ? args.sslProfiles : undefined;
resourceInputs["tags"] = args ? args.tags : undefined;
resourceInputs["trustedClientCertificates"] = args ? args.trustedClientCertificates : undefined;
resourceInputs["trustedRootCertificates"] = args ? args.trustedRootCertificates : undefined;
resourceInputs["urlPathMaps"] = args ? args.urlPathMaps : undefined;
resourceInputs["webApplicationFirewallConfiguration"] = args ? args.webApplicationFirewallConfiguration : undefined;
resourceInputs["zones"] = args ? args.zones : undefined;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["defaultPredefinedSslPolicy"] = undefined /*out*/;
resourceInputs["etag"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["operationalState"] = undefined /*out*/;
resourceInputs["privateEndpointConnections"] = undefined /*out*/;
resourceInputs["provisioningState"] = undefined /*out*/;
resourceInputs["resourceGuid"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
}
else {
resourceInputs["authenticationCertificates"] = undefined /*out*/;
resourceInputs["autoscaleConfiguration"] = undefined /*out*/;
resourceInputs["azureApiVersion"] = undefined /*out*/;
resourceInputs["backendAddressPools"] = undefined /*out*/;
resourceInputs["backendHttpSettingsCollection"] = undefined /*out*/;
resourceInputs["backendSettingsCollection"] = undefined /*out*/;
resourceInputs["customErrorConfigurations"] = undefined /*out*/;
resourceInputs["defaultPredefinedSslPolicy"] = undefined /*out*/;
resourceInputs["enableFips"] = undefined /*out*/;
resourceInputs["enableHttp2"] = undefined /*out*/;
resourceInputs["etag"] = undefined /*out*/;
resourceInputs["firewallPolicy"] = undefined /*out*/;
resourceInputs["forceFirewallPolicyAssociation"] = undefined /*out*/;
resourceInputs["frontendIPConfigurations"] = undefined /*out*/;
resourceInputs["frontendPorts"] = undefined /*out*/;
resourceInputs["gatewayIPConfigurations"] = undefined /*out*/;
resourceInputs["globalConfiguration"] = undefined /*out*/;
resourceInputs["httpListeners"] = undefined /*out*/;
resourceInputs["identity"] = undefined /*out*/;
resourceInputs["listeners"] = undefined /*out*/;
resourceInputs["loadDistributionPolicies"] = undefined /*out*/;
resourceInputs["location"] = undefined /*out*/;
resourceInputs["name"] = undefined /*out*/;
resourceInputs["operationalState"] = undefined /*out*/;
resourceInputs["privateEndpointConnections"] = undefined /*out*/;
resourceInputs["privateLinkConfigurations"] = undefined /*out*/;
resourceInputs["probes"] = undefined /*out*/;
resourceInputs["provisioningState"] = undefined /*out*/;
resourceInputs["redirectConfigurations"] = undefined /*out*/;
resourceInputs["requestRoutingRules"] = undefined /*out*/;
resourceInputs["resourceGuid"] = undefined /*out*/;
resourceInputs["rewriteRuleSets"] = undefined /*out*/;
resourceInputs["routingRules"] = undefined /*out*/;
resourceInputs["sku"] = undefined /*out*/;
resourceInputs["sslCertificates"] = undefined /*out*/;
resourceInputs["sslPolicy"] = undefined /*out*/;
resourceInputs["sslProfiles"] = undefined /*out*/;
resourceInputs["tags"] = undefined /*out*/;
resourceInputs["trustedClientCertificates"] = undefined /*out*/;
resourceInputs["trustedRootCertificates"] = undefined /*out*/;
resourceInputs["type"] = undefined /*out*/;
resourceInputs["urlPathMaps"] = undefined /*out*/;
resourceInputs["webApplicationFirewallConfiguration"] = undefined /*out*/;
resourceInputs["zones"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "azure-native:network/v20150501preview:ApplicationGateway" }, { type: "azure-native:network/v20150615:ApplicationGateway" }, { type: "azure-native:network/v20160330:ApplicationGateway" }, { type: "azure-native:network/v20160601:ApplicationGateway" }, { type: "azure-native:network/v20160901:ApplicationGateway" }, { type: "azure-native:network/v20161201:ApplicationGateway" }, { type: "azure-native:network/v20170301:ApplicationGateway" }, { type: "azure-native:network/v20170601:ApplicationGateway" }, { type: "azure-native:network/v20170801:ApplicationGateway" }, { type: "azure-native:network/v20170901:ApplicationGateway" }, { type: "azure-native:network/v20171001:ApplicationGateway" }, { type: "azure-native:network/v20171101:ApplicationGateway" }, { type: "azure-native:network/v20180101:ApplicationGateway" }, { type: "azure-native:network/v20180201:ApplicationGateway" }, { type: "azure-native:network/v20180401:ApplicationGateway" }, { type: "azure-native:network/v20180601:ApplicationGateway" }, { type: "azure-native:network/v20180701:ApplicationGateway" }, { type: "azure-native:network/v20180801:ApplicationGateway" }, { type: "azure-native:network/v20181001:ApplicationGateway" }, { type: "azure-native:network/v20181101:ApplicationGateway" }, { type: "azure-native:network/v20181201:ApplicationGateway" }, { type: "azure-native:network/v20190201:ApplicationGateway" }, { type: "azure-native:network/v20190401:ApplicationGateway" }, { type: "azure-native:network/v20190601:ApplicationGateway" }, { type: "azure-native:network/v20190701:ApplicationGateway" }, { type: "azure-native:network/v20190801:ApplicationGateway" }, { type: "azure-native:network/v20190901:ApplicationGateway" }, { type: "azure-native:network/v20191101:ApplicationGateway" }, { type: "azure-native:network/v20191201:ApplicationGateway" }, { type: "azure-native:network/v20200301:ApplicationGateway" }, { type: "azure-native:network/v20200401:ApplicationGateway" }, { type: "azure-native:network/v20200501:ApplicationGateway" }, { type: "azure-native:network/v20200601:ApplicationGateway" }, { type: "azure-native:network/v20200701:ApplicationGateway" }, { type: "azure-native:network/v20200801:ApplicationGateway" }, { type: "azure-native:network/v20201101:ApplicationGateway" }, { type: "azure-native:network/v20210201:ApplicationGateway" }, { type: "azure-native:network/v20210301:ApplicationGateway" }, { type: "azure-native:network/v20210501:ApplicationGateway" }, { type: "azure-native:network/v20210801:ApplicationGateway" }, { type: "azure-native:network/v20220101:ApplicationGateway" }, { type: "azure-native:network/v20220501:ApplicationGateway" }, { type: "azure-native:network/v20220701:ApplicationGateway" }, { type: "azure-native:network/v20220901:ApplicationGateway" }, { type: "azure-native:network/v20221101:ApplicationGateway" }, { type: "azure-native:network/v20230201:ApplicationGateway" }, { type: "azure-native:network/v20230401:ApplicationGateway" }, { type: "azure-native:network/v20230501:ApplicationGateway" }, { type: "azure-native:network/v20230601:ApplicationGateway" }, { type: "azure-native:network/v20230901:ApplicationGateway" }, { type: "azure-native:network/v20231101:ApplicationGateway" }, { type: "azure-native:network/v20240101:ApplicationGateway" }, { type: "azure-native:network/v20240301:ApplicationGateway" }, { type: "azure-native:network/v20240501:ApplicationGateway" }, { type: "azure-native:network/v20240701:ApplicationGateway" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ApplicationGateway.__pulumiType, name, resourceInputs, opts);
}
}
exports.ApplicationGateway = ApplicationGateway;
/** @internal */
ApplicationGateway.__pulumiType = 'azure-native:network:ApplicationGateway';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25HYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNFQUFzRTtBQUN0RSxpRkFBaUY7OztBQUVqRix5Q0FBeUM7QUFJekMsMENBQTBDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsTUFBTSxDQUFDLGNBQWM7SUFDekQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQTJCLEVBQUUsSUFBbUM7UUFDNUYsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxTQUFnQixrQ0FBTyxJQUFJLEtBQUUsRUFBRSxFQUFFLEVBQUUsSUFBRyxDQUFDO0lBQy9FLENBQUM7SUFLRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQVE7UUFDN0IsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7WUFDbkMsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxjQUFjLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7SUFDbkUsQ0FBQztJQW1MRDs7Ozs7O09BTUc7SUFDSCxZQUFZLElBQVksRUFBRSxJQUE0QixFQUFFLElBQW1DO1FBQ3ZGLElBQUksY0FBYyxHQUFrQixFQUFFLENBQUM7UUFDdkMsSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDOUQsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO2FBQ3BFO1lBQ0QsY0FB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QUFDO1NBQy9DO1FBQ0QsSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkUsTUFBTSxTQUFTLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSwwREFBMEQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoN0csSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQzVDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RSxDQUFDOztBQTNUTCxnREE0VEM7QUEvU0csZ0JBQWdCO0FBQ08sK0JBQVksR0FBRyx5Q0FBeUMsQ0FBQyJ9