"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! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.VpcOrigin = exports.ResponseHeadersPolicy = exports.RealtimeLogConfig = exports.PublicKey = exports.OriginRequestPolicy = exports.OriginAccessControl = exports.MonitoringSubscription = exports.KeyValueStore = exports.KeyGroup = exports.getVpcOriginOutput = exports.getVpcOrigin = exports.getResponseHeadersPolicyOutput = exports.getResponseHeadersPolicy = exports.getRealtimeLogConfigOutput = exports.getRealtimeLogConfig = exports.getPublicKeyOutput = exports.getPublicKey = exports.getOriginRequestPolicyOutput = exports.getOriginRequestPolicy = exports.getOriginAccessControlOutput = exports.getOriginAccessControl = exports.getMonitoringSubscriptionOutput = exports.getMonitoringSubscription = exports.getKeyValueStoreOutput = exports.getKeyValueStore = exports.getKeyGroupOutput = exports.getKeyGroup = exports.getFunctionOutput = exports.getFunction = exports.getDistributionTenantOutput = exports.getDistributionTenant = exports.getDistributionOutput = exports.getDistribution = exports.getContinuousDeploymentPolicyOutput = exports.getContinuousDeploymentPolicy = exports.getConnectionGroupOutput = exports.getConnectionGroup = exports.getCloudFrontOriginAccessIdentityOutput = exports.getCloudFrontOriginAccessIdentity = exports.getCachePolicyOutput = exports.getCachePolicy = exports.Function = exports.DistributionTenant = exports.Distribution = exports.ContinuousDeploymentPolicy = exports.ConnectionGroup = exports.CloudFrontOriginAccessIdentity = exports.CachePolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.CachePolicy = null;
utilities.lazyLoad(exports, ["CachePolicy"], () => require("./cachePolicy"));
exports.CloudFrontOriginAccessIdentity = null;
utilities.lazyLoad(exports, ["CloudFrontOriginAccessIdentity"], () => require("./cloudFrontOriginAccessIdentity"));
exports.ConnectionGroup = null;
utilities.lazyLoad(exports, ["ConnectionGroup"], () => require("./connectionGroup"));
exports.ContinuousDeploymentPolicy = null;
utilities.lazyLoad(exports, ["ContinuousDeploymentPolicy"], () => require("./continuousDeploymentPolicy"));
exports.Distribution = null;
utilities.lazyLoad(exports, ["Distribution"], () => require("./distribution"));
exports.DistributionTenant = null;
utilities.lazyLoad(exports, ["DistributionTenant"], () => require("./distributionTenant"));
exports.Function = null;
utilities.lazyLoad(exports, ["Function"], () => require("./function"));
exports.getCachePolicy = null;
exports.getCachePolicyOutput = null;
utilities.lazyLoad(exports, ["getCachePolicy", "getCachePolicyOutput"], () => require("./getCachePolicy"));
exports.getCloudFrontOriginAccessIdentity = null;
exports.getCloudFrontOriginAccessIdentityOutput = null;
utilities.lazyLoad(exports, ["getCloudFrontOriginAccessIdentity", "getCloudFrontOriginAccessIdentityOutput"], () => require("./getCloudFrontOriginAccessIdentity"));
exports.getConnectionGroup = null;
exports.getConnectionGroupOutput = null;
utilities.lazyLoad(exports, ["getConnectionGroup", "getConnectionGroupOutput"], () => require("./getConnectionGroup"));
exports.getContinuousDeploymentPolicy = null;
exports.getContinuousDeploymentPolicyOutput = null;
utilities.lazyLoad(exports, ["getContinuousDeploymentPolicy", "getContinuousDeploymentPolicyOutput"], () => require("./getContinuousDeploymentPolicy"));
exports.getDistribution = null;
exports.getDistributionOutput = null;
utilities.lazyLoad(exports, ["getDistribution", "getDistributionOutput"], () => require("./getDistribution"));
exports.getDistributionTenant = null;
exports.getDistributionTenantOutput = null;
utilities.lazyLoad(exports, ["getDistributionTenant", "getDistributionTenantOutput"], () => require("./getDistributionTenant"));
exports.getFunction = null;
exports.getFunctionOutput = null;
utilities.lazyLoad(exports, ["getFunction", "getFunctionOutput"], () => require("./getFunction"));
exports.getKeyGroup = null;
exports.getKeyGroupOutput = null;
utilities.lazyLoad(exports, ["getKeyGroup", "getKeyGroupOutput"], () => require("./getKeyGroup"));
exports.getKeyValueStore = null;
exports.getKeyValueStoreOutput = null;
utilities.lazyLoad(exports, ["getKeyValueStore", "getKeyValueStoreOutput"], () => require("./getKeyValueStore"));
exports.getMonitoringSubscription = null;
exports.getMonitoringSubscriptionOutput = null;
utilities.lazyLoad(exports, ["getMonitoringSubscription", "getMonitoringSubscriptionOutput"], () => require("./getMonitoringSubscription"));
exports.getOriginAccessControl = null;
exports.getOriginAccessControlOutput = null;
utilities.lazyLoad(exports, ["getOriginAccessControl", "getOriginAccessControlOutput"], () => require("./getOriginAccessControl"));
exports.getOriginRequestPolicy = null;
exports.getOriginRequestPolicyOutput = null;
utilities.lazyLoad(exports, ["getOriginRequestPolicy", "getOriginRequestPolicyOutput"], () => require("./getOriginRequestPolicy"));
exports.getPublicKey = null;
exports.getPublicKeyOutput = null;
utilities.lazyLoad(exports, ["getPublicKey", "getPublicKeyOutput"], () => require("./getPublicKey"));
exports.getRealtimeLogConfig = null;
exports.getRealtimeLogConfigOutput = null;
utilities.lazyLoad(exports, ["getRealtimeLogConfig", "getRealtimeLogConfigOutput"], () => require("./getRealtimeLogConfig"));
exports.getResponseHeadersPolicy = null;
exports.getResponseHeadersPolicyOutput = null;
utilities.lazyLoad(exports, ["getResponseHeadersPolicy", "getResponseHeadersPolicyOutput"], () => require("./getResponseHeadersPolicy"));
exports.getVpcOrigin = null;
exports.getVpcOriginOutput = null;
utilities.lazyLoad(exports, ["getVpcOrigin", "getVpcOriginOutput"], () => require("./getVpcOrigin"));
exports.KeyGroup = null;
utilities.lazyLoad(exports, ["KeyGroup"], () => require("./keyGroup"));
exports.KeyValueStore = null;
utilities.lazyLoad(exports, ["KeyValueStore"], () => require("./keyValueStore"));
exports.MonitoringSubscription = null;
utilities.lazyLoad(exports, ["MonitoringSubscription"], () => require("./monitoringSubscription"));
exports.OriginAccessControl = null;
utilities.lazyLoad(exports, ["OriginAccessControl"], () => require("./originAccessControl"));
exports.OriginRequestPolicy = null;
utilities.lazyLoad(exports, ["OriginRequestPolicy"], () => require("./originRequestPolicy"));
exports.PublicKey = null;
utilities.lazyLoad(exports, ["PublicKey"], () => require("./publicKey"));
exports.RealtimeLogConfig = null;
utilities.lazyLoad(exports, ["RealtimeLogConfig"], () => require("./realtimeLogConfig"));
exports.ResponseHeadersPolicy = null;
utilities.lazyLoad(exports, ["ResponseHeadersPolicy"], () => require("./responseHeadersPolicy"));
exports.VpcOrigin = null;
utilities.lazyLoad(exports, ["VpcOrigin"], () => require("./vpcOrigin"));
// Export enums:
__exportStar(require("../types/enums/cloudfront"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:cloudfront:CachePolicy":
                return new exports.CachePolicy(name, undefined, { urn });
            case "aws-native:cloudfront:CloudFrontOriginAccessIdentity":
                return new exports.CloudFrontOriginAccessIdentity(name, undefined, { urn });
            case "aws-native:cloudfront:ConnectionGroup":
                return new exports.ConnectionGroup(name, undefined, { urn });
            case "aws-native:cloudfront:ContinuousDeploymentPolicy":
                return new exports.ContinuousDeploymentPolicy(name, undefined, { urn });
            case "aws-native:cloudfront:Distribution":
                return new exports.Distribution(name, undefined, { urn });
            case "aws-native:cloudfront:DistributionTenant":
                return new exports.DistributionTenant(name, undefined, { urn });
            case "aws-native:cloudfront:Function":
                return new exports.Function(name, undefined, { urn });
            case "aws-native:cloudfront:KeyGroup":
                return new exports.KeyGroup(name, undefined, { urn });
            case "aws-native:cloudfront:KeyValueStore":
                return new exports.KeyValueStore(name, undefined, { urn });
            case "aws-native:cloudfront:MonitoringSubscription":
                return new exports.MonitoringSubscription(name, undefined, { urn });
            case "aws-native:cloudfront:OriginAccessControl":
                return new exports.OriginAccessControl(name, undefined, { urn });
            case "aws-native:cloudfront:OriginRequestPolicy":
                return new exports.OriginRequestPolicy(name, undefined, { urn });
            case "aws-native:cloudfront:PublicKey":
                return new exports.PublicKey(name, undefined, { urn });
            case "aws-native:cloudfront:RealtimeLogConfig":
                return new exports.RealtimeLogConfig(name, undefined, { urn });
            case "aws-native:cloudfront:ResponseHeadersPolicy":
                return new exports.ResponseHeadersPolicy(name, undefined, { urn });
            case "aws-native:cloudfront:VpcOrigin":
                return new exports.VpcOrigin(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "cloudfront", _module);
//# sourceMappingURL=index.js.map