"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.VpcEndpointAssociation = exports.TlsInspectionConfiguration = exports.RuleGroup = exports.LoggingConfiguration = exports.getVpcEndpointAssociationOutput = exports.getVpcEndpointAssociation = exports.getTlsInspectionConfigurationOutput = exports.getTlsInspectionConfiguration = exports.getRuleGroupOutput = exports.getRuleGroup = exports.getLoggingConfigurationOutput = exports.getLoggingConfiguration = exports.getFirewallPolicyOutput = exports.getFirewallPolicy = exports.getFirewallOutput = exports.getFirewall = exports.FirewallPolicy = exports.Firewall = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../utilities");
exports.Firewall = null;
utilities.lazyLoad(exports, ["Firewall"], () => require("./firewall"));
exports.FirewallPolicy = null;
utilities.lazyLoad(exports, ["FirewallPolicy"], () => require("./firewallPolicy"));
exports.getFirewall = null;
exports.getFirewallOutput = null;
utilities.lazyLoad(exports, ["getFirewall", "getFirewallOutput"], () => require("./getFirewall"));
exports.getFirewallPolicy = null;
exports.getFirewallPolicyOutput = null;
utilities.lazyLoad(exports, ["getFirewallPolicy", "getFirewallPolicyOutput"], () => require("./getFirewallPolicy"));
exports.getLoggingConfiguration = null;
exports.getLoggingConfigurationOutput = null;
utilities.lazyLoad(exports, ["getLoggingConfiguration", "getLoggingConfigurationOutput"], () => require("./getLoggingConfiguration"));
exports.getRuleGroup = null;
exports.getRuleGroupOutput = null;
utilities.lazyLoad(exports, ["getRuleGroup", "getRuleGroupOutput"], () => require("./getRuleGroup"));
exports.getTlsInspectionConfiguration = null;
exports.getTlsInspectionConfigurationOutput = null;
utilities.lazyLoad(exports, ["getTlsInspectionConfiguration", "getTlsInspectionConfigurationOutput"], () => require("./getTlsInspectionConfiguration"));
exports.getVpcEndpointAssociation = null;
exports.getVpcEndpointAssociationOutput = null;
utilities.lazyLoad(exports, ["getVpcEndpointAssociation", "getVpcEndpointAssociationOutput"], () => require("./getVpcEndpointAssociation"));
exports.LoggingConfiguration = null;
utilities.lazyLoad(exports, ["LoggingConfiguration"], () => require("./loggingConfiguration"));
exports.RuleGroup = null;
utilities.lazyLoad(exports, ["RuleGroup"], () => require("./ruleGroup"));
exports.TlsInspectionConfiguration = null;
utilities.lazyLoad(exports, ["TlsInspectionConfiguration"], () => require("./tlsInspectionConfiguration"));
exports.VpcEndpointAssociation = null;
utilities.lazyLoad(exports, ["VpcEndpointAssociation"], () => require("./vpcEndpointAssociation"));
// Export enums:
__exportStar(require("../types/enums/networkfirewall"), exports);
const _module = {
    version: utilities.getVersion(),
    construct: (name, type, urn) => {
        switch (type) {
            case "aws-native:networkfirewall:Firewall":
                return new exports.Firewall(name, undefined, { urn });
            case "aws-native:networkfirewall:FirewallPolicy":
                return new exports.FirewallPolicy(name, undefined, { urn });
            case "aws-native:networkfirewall:LoggingConfiguration":
                return new exports.LoggingConfiguration(name, undefined, { urn });
            case "aws-native:networkfirewall:RuleGroup":
                return new exports.RuleGroup(name, undefined, { urn });
            case "aws-native:networkfirewall:TlsInspectionConfiguration":
                return new exports.TlsInspectionConfiguration(name, undefined, { urn });
            case "aws-native:networkfirewall:VpcEndpointAssociation":
                return new exports.VpcEndpointAssociation(name, undefined, { urn });
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("aws-native", "networkfirewall", _module);
//# sourceMappingURL=index.js.map