@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, 2024-10-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, { ...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?.resourceGroupName === undefined && !opts.urn) {
throw new Error("Missing required property 'resourceGroupName'");
}
resourceInputs["applicationGatewayName"] = args?.applicationGatewayName;
resourceInputs["authenticationCertificates"] = args?.authenticationCertificates;
resourceInputs["autoscaleConfiguration"] = args?.autoscaleConfiguration;
resourceInputs["backendAddressPools"] = args?.backendAddressPools;
resourceInputs["backendHttpSettingsCollection"] = args?.backendHttpSettingsCollection;
resourceInputs["backendSettingsCollection"] = args?.backendSettingsCollection;
resourceInputs["customErrorConfigurations"] = args?.customErrorConfigurations;
resourceInputs["enableFips"] = args?.enableFips;
resourceInputs["enableHttp2"] = args?.enableHttp2;
resourceInputs["firewallPolicy"] = args?.firewallPolicy;
resourceInputs["forceFirewallPolicyAssociation"] = args?.forceFirewallPolicyAssociation;
resourceInputs["frontendIPConfigurations"] = args?.frontendIPConfigurations;
resourceInputs["frontendPorts"] = args?.frontendPorts;
resourceInputs["gatewayIPConfigurations"] = args?.gatewayIPConfigurations;
resourceInputs["globalConfiguration"] = args?.globalConfiguration;
resourceInputs["httpListeners"] = args?.httpListeners;
resourceInputs["id"] = args?.id;
resourceInputs["identity"] = args?.identity;
resourceInputs["listeners"] = args?.listeners;
resourceInputs["loadDistributionPolicies"] = args?.loadDistributionPolicies;
resourceInputs["location"] = args?.location;
resourceInputs["privateLinkConfigurations"] = args?.privateLinkConfigurations;
resourceInputs["probes"] = args?.probes;
resourceInputs["redirectConfigurations"] = args?.redirectConfigurations;
resourceInputs["requestRoutingRules"] = args?.requestRoutingRules;
resourceInputs["resourceGroupName"] = args?.resourceGroupName;
resourceInputs["rewriteRuleSets"] = args?.rewriteRuleSets;
resourceInputs["routingRules"] = args?.routingRules;
resourceInputs["sku"] = args?.sku;
resourceInputs["sslCertificates"] = args?.sslCertificates;
resourceInputs["sslPolicy"] = args?.sslPolicy;
resourceInputs["sslProfiles"] = args?.sslProfiles;
resourceInputs["tags"] = args?.tags;
resourceInputs["trustedClientCertificates"] = args?.trustedClientCertificates;
resourceInputs["trustedRootCertificates"] = args?.trustedRootCertificates;
resourceInputs["urlPathMaps"] = args?.urlPathMaps;
resourceInputs["webApplicationFirewallConfiguration"] = args?.webApplicationFirewallConfiguration;
resourceInputs["zones"] = args?.zones;
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" }, { type: "azure-native:network/v20241001: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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb25HYXRld2F5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbmV0d29yay9hcHBsaWNhdGlvbkdhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNFQUFzRTtBQUN0RSxpRkFBaUY7OztBQUVqRix5Q0FBeUM7QUFJekMsMENBQTBDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsTUFBTSxDQUFDLGNBQWM7SUFDekQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQTJCLEVBQUUsSUFBbUM7UUFDNUYsT0FBTyxJQUFJLGtCQUFrQixDQUFDLElBQUksRUFBRSxTQUFnQixFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUtEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBUTtRQUM3QixJQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtZQUNuQyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sR0FBRyxDQUFDLGNBQWMsQ0FBQyxLQUFLLGtCQUFrQixDQUFDLFlBQVksQ0FBQztJQUNuRSxDQUFDO0lBbUxEOzs7Ozs7T0FNRztJQUNILFlBQVksSUFBWSxFQUFFLElBQTRCLEVBQUUsSUFBbUM7UUFDdkYsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksSUFBSSxFQUFFLGlCQUFpQixLQUFLLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BELE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQzthQUNwRTtZQUNELGNBQWMsQ0FBQyx3QkFB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QUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxtREFBbUQsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLG1EQUFtRCxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsbURBQW1ELEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFDLytHLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM1QyxLQUFLLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7QUEzVEwsZ0RBNFRDO0FBL1NHLGdCQUFnQjtBQUNPLCtCQUFZLEdBQUcseUNBQXlDLENBQUMifQ==