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

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

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

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"));

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

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

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


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