// *** 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 { XBackendTrafficPolicyArgs } from "./xbackendTrafficPolicy";
export type XBackendTrafficPolicy = import("./xbackendTrafficPolicy").XBackendTrafficPolicy;
export const XBackendTrafficPolicy: typeof import("./xbackendTrafficPolicy").XBackendTrafficPolicy = null as any;
utilities.lazyLoad(exports, ["XBackendTrafficPolicy"], () => require("./xbackendTrafficPolicy"));

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

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

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

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

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

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

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

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


const _module = {
    version: utilities.getVersion(),
    construct: (name: string, type: string, urn: string): pulumi.Resource => {
        switch (type) {
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy":
                return new XBackendTrafficPolicy(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList":
                return new XBackendTrafficPolicyList(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch":
                return new XBackendTrafficPolicyPatch(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet":
                return new XListenerSet(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList":
                return new XListenerSetList(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch":
                return new XListenerSetPatch(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh":
                return new XMesh(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList":
                return new XMeshList(name, <any>undefined, { urn })
            case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch":
                return new XMeshPatch(name, <any>undefined, { urn })
            default:
                throw new Error(`unknown resource type ${type}`);
        }
    },
};
pulumi.runtime.registerResourceModule("crds", "gateway.networking.x-k8s.io/v1alpha1", _module)
