// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../../utilities";

// Export members:
export { BackendTLSPolicyArgs } from "./backendTLSPolicy";
export type BackendTLSPolicy = import("./backendTLSPolicy").BackendTLSPolicy;
export const BackendTLSPolicy: typeof import("./backendTLSPolicy").BackendTLSPolicy = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicy"], () => require("./backendTLSPolicy"));

export { BackendTLSPolicyListArgs } from "./backendTLSPolicyList";
export type BackendTLSPolicyList = import("./backendTLSPolicyList").BackendTLSPolicyList;
export const BackendTLSPolicyList: typeof import("./backendTLSPolicyList").BackendTLSPolicyList = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicyList"], () => require("./backendTLSPolicyList"));

export { BackendTLSPolicyPatchArgs } from "./backendTLSPolicyPatch";
export type BackendTLSPolicyPatch = import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export const BackendTLSPolicyPatch: typeof import("./backendTLSPolicyPatch").BackendTLSPolicyPatch = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicyPatch"], () => require("./backendTLSPolicyPatch"));

export { TLSRouteArgs } from "./tlsroute";
export type TLSRoute = import("./tlsroute").TLSRoute;
export const TLSRoute: typeof import("./tlsroute").TLSRoute = null as any;
utilities.lazyLoad(exports, ["TLSRoute"], () => require("./tlsroute"));

export { TLSRouteListArgs } from "./tlsrouteList";
export type TLSRouteList = import("./tlsrouteList").TLSRouteList;
export const TLSRouteList: typeof import("./tlsrouteList").TLSRouteList = null as any;
utilities.lazyLoad(exports, ["TLSRouteList"], () => require("./tlsrouteList"));

export { TLSRoutePatchArgs } from "./tlsroutePatch";
export type TLSRoutePatch = import("./tlsroutePatch").TLSRoutePatch;
export const TLSRoutePatch: typeof import("./tlsroutePatch").TLSRoutePatch = null as any;
utilities.lazyLoad(exports, ["TLSRoutePatch"], () => require("./tlsroutePatch"));


const _module = {
    version: utilities.getVersion(),
    construct: (name: string, type: string, urn: string): pulumi.Resource => {
        switch (type) {
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicy":
                return new BackendTLSPolicy(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyList":
                return new BackendTLSPolicyList(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyPatch":
                return new BackendTLSPolicyPatch(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute":
                return new TLSRoute(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList":
                return new TLSRouteList(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch":
                return new TLSRoutePatch(name, <any>undefined, { urn })
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("crds", "gateway.networking.k8s.io/v1alpha3", _module)
