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

124 lines • 15.3 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.Endpoint = void 0; const pulumi = require("@pulumi/pulumi"); const utilities = require("../utilities"); /** * CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format <endpointname>.azureedge.net. * * Uses Azure REST API version 2025-06-01. In version 2.x of the Azure Native provider, it used API version 2023-05-01. * * Other available API versions: 2023-05-01, 2023-07-01-preview, 2024-02-01, 2024-05-01-preview, 2024-06-01-preview, 2024-09-01, 2025-01-01-preview, 2025-04-15, 2025-07-01-preview, 2025-09-01-preview. These can be accessed by generating a local SDK package using the CLI command `pulumi package add azure-native cdn [ApiVersion]`. See the [version guide](../../../version-guide/#accessing-any-api-version-via-local-packages) for details. */ class Endpoint extends pulumi.CustomResource { /** * Get an existing Endpoint 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 Endpoint(name, undefined, { ...opts, id: id }); } /** * Returns true if the given object is an instance of Endpoint. 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'] === Endpoint.__pulumiType; } /** * Create a Endpoint 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?.origins === undefined && !opts.urn) { throw new Error("Missing required property 'origins'"); } if (args?.profileName === undefined && !opts.urn) { throw new Error("Missing required property 'profileName'"); } if (args?.resourceGroupName === undefined && !opts.urn) { throw new Error("Missing required property 'resourceGroupName'"); } resourceInputs["contentTypesToCompress"] = args?.contentTypesToCompress; resourceInputs["defaultOriginGroup"] = args?.defaultOriginGroup; resourceInputs["deliveryPolicy"] = args?.deliveryPolicy; resourceInputs["endpointName"] = args?.endpointName; resourceInputs["geoFilters"] = args?.geoFilters; resourceInputs["isCompressionEnabled"] = args?.isCompressionEnabled; resourceInputs["isHttpAllowed"] = (args?.isHttpAllowed) ?? true; resourceInputs["isHttpsAllowed"] = (args?.isHttpsAllowed) ?? true; resourceInputs["location"] = args?.location; resourceInputs["optimizationType"] = args?.optimizationType; resourceInputs["originGroups"] = args?.originGroups; resourceInputs["originHostHeader"] = args?.originHostHeader; resourceInputs["originPath"] = args?.originPath; resourceInputs["origins"] = args?.origins; resourceInputs["probePath"] = args?.probePath; resourceInputs["profileName"] = args?.profileName; resourceInputs["queryStringCachingBehavior"] = (args?.queryStringCachingBehavior) ?? "NotSet"; resourceInputs["resourceGroupName"] = args?.resourceGroupName; resourceInputs["tags"] = args?.tags; resourceInputs["urlSigningKeys"] = args?.urlSigningKeys; resourceInputs["webApplicationFirewallPolicyLink"] = args?.webApplicationFirewallPolicyLink; resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["customDomains"] = undefined /*out*/; resourceInputs["hostName"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["resourceState"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; } else { resourceInputs["azureApiVersion"] = undefined /*out*/; resourceInputs["contentTypesToCompress"] = undefined /*out*/; resourceInputs["customDomains"] = undefined /*out*/; resourceInputs["defaultOriginGroup"] = undefined /*out*/; resourceInputs["deliveryPolicy"] = undefined /*out*/; resourceInputs["geoFilters"] = undefined /*out*/; resourceInputs["hostName"] = undefined /*out*/; resourceInputs["isCompressionEnabled"] = undefined /*out*/; resourceInputs["isHttpAllowed"] = undefined /*out*/; resourceInputs["isHttpsAllowed"] = undefined /*out*/; resourceInputs["location"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; resourceInputs["optimizationType"] = undefined /*out*/; resourceInputs["originGroups"] = undefined /*out*/; resourceInputs["originHostHeader"] = undefined /*out*/; resourceInputs["originPath"] = undefined /*out*/; resourceInputs["origins"] = undefined /*out*/; resourceInputs["probePath"] = undefined /*out*/; resourceInputs["provisioningState"] = undefined /*out*/; resourceInputs["queryStringCachingBehavior"] = undefined /*out*/; resourceInputs["resourceState"] = undefined /*out*/; resourceInputs["systemData"] = undefined /*out*/; resourceInputs["tags"] = undefined /*out*/; resourceInputs["type"] = undefined /*out*/; resourceInputs["urlSigningKeys"] = undefined /*out*/; resourceInputs["webApplicationFirewallPolicyLink"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); const aliasOpts = { aliases: [{ type: "azure-native:cdn/v20150601:Endpoint" }, { type: "azure-native:cdn/v20160402:Endpoint" }, { type: "azure-native:cdn/v20161002:Endpoint" }, { type: "azure-native:cdn/v20170402:Endpoint" }, { type: "azure-native:cdn/v20171012:Endpoint" }, { type: "azure-native:cdn/v20190415:Endpoint" }, { type: "azure-native:cdn/v20190615:Endpoint" }, { type: "azure-native:cdn/v20190615preview:Endpoint" }, { type: "azure-native:cdn/v20191231:Endpoint" }, { type: "azure-native:cdn/v20200331:Endpoint" }, { type: "azure-native:cdn/v20200415:Endpoint" }, { type: "azure-native:cdn/v20200901:Endpoint" }, { type: "azure-native:cdn/v20210601:Endpoint" }, { type: "azure-native:cdn/v20220501preview:Endpoint" }, { type: "azure-native:cdn/v20221101preview:Endpoint" }, { type: "azure-native:cdn/v20230501:Endpoint" }, { type: "azure-native:cdn/v20230701preview:Endpoint" }, { type: "azure-native:cdn/v20240201:Endpoint" }, { type: "azure-native:cdn/v20240501preview:Endpoint" }, { type: "azure-native:cdn/v20240601preview:Endpoint" }, { type: "azure-native:cdn/v20240901:Endpoint" }, { type: "azure-native:cdn/v20250101preview:Endpoint" }, { type: "azure-native:cdn/v20250415:Endpoint" }, { type: "azure-native:cdn/v20250601:Endpoint" }, { type: "azure-native:cdn/v20250701preview:Endpoint" }, { type: "azure-native:cdn/v20250901preview:Endpoint" }] }; opts = pulumi.mergeOptions(opts, aliasOpts); super(Endpoint.__pulumiType, name, resourceInputs, opts); } } exports.Endpoint = Endpoint; /** @internal */ Endpoint.__pulumiType = 'azure-native:cdn:Endpoint'; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5kcG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jZG4vZW5kcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNFQUFzRTtBQUN0RSxpRkFBaUY7OztBQUVqRix5Q0FBeUM7QUFJekMsMENBQTBDO0FBRTFDOzs7Ozs7R0FNRztBQUNILE1BQWEsUUFBUyxTQUFRLE1BQU0sQ0FBQyxjQUFjO0lBQy9DOzs7Ozs7O09BT0c7SUFDSSxNQUFNLENBQUMsR0FBRyxDQUFDLElBQVksRUFBRSxFQUEyQixFQUFFLElBQW1DO1FBQzVGLE9BQU8sSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQWdCLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBS0Q7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQzdCLElBQUksR0FBRyxLQUFLLFNBQVMsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO1lBQ25DLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDLEtBQUssUUFBUSxDQUFDLFlBQVksQ0FBQztJQUN6RCxDQUFDO0lBMkdEOzs7Ozs7T0FNRztJQUNILFlBQVksSUFBWSxFQUFFLElBQWtCLEVBQUUsSUFBbUM7UUFDN0UsSUFBSSxjQUFjLEdBQWtCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNWLElBQUksSUFBSSxFQUFFLE9BQU8sS0FBSyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO2dCQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7YUFDMUQ7WUFDRCxJQUFJLElBQUksRUFBRSxXQUFXLEtBQUssU0FBUyxJQUFJLENBQUMsSUFBSSxD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