@kilic.dev/pulumi-k8s-crds 2.0.9 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -43,6 +43,15 @@ export declare const HTTPRouteList: typeof import("./httprouteList").HTTPRouteLi
43
43
  export { HTTPRoutePatchArgs } from "./httproutePatch";
44
44
  export type HTTPRoutePatch = import("./httproutePatch").HTTPRoutePatch;
45
45
  export declare const HTTPRoutePatch: typeof import("./httproutePatch").HTTPRoutePatch;
46
+ export { ListenerSetArgs } from "./listenerSet";
47
+ export type ListenerSet = import("./listenerSet").ListenerSet;
48
+ export declare const ListenerSet: typeof import("./listenerSet").ListenerSet;
49
+ export { ListenerSetListArgs } from "./listenerSetList";
50
+ export type ListenerSetList = import("./listenerSetList").ListenerSetList;
51
+ export declare const ListenerSetList: typeof import("./listenerSetList").ListenerSetList;
52
+ export { ListenerSetPatchArgs } from "./listenerSetPatch";
53
+ export type ListenerSetPatch = import("./listenerSetPatch").ListenerSetPatch;
54
+ export declare const ListenerSetPatch: typeof import("./listenerSetPatch").ListenerSetPatch;
46
55
  export { ReferenceGrantArgs } from "./referenceGrant";
47
56
  export type ReferenceGrant = import("./referenceGrant").ReferenceGrant;
48
57
  export declare const ReferenceGrant: typeof import("./referenceGrant").ReferenceGrant;
@@ -35,7 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  };
36
36
  })();
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.TLSRoutePatch = exports.TLSRouteList = exports.TLSRoute = exports.ReferenceGrantPatch = exports.ReferenceGrantList = exports.ReferenceGrant = exports.HTTPRoutePatch = exports.HTTPRouteList = exports.HTTPRoute = exports.GRPCRoutePatch = exports.GRPCRouteList = exports.GRPCRoute = exports.GatewayPatch = exports.GatewayList = exports.GatewayClassPatch = exports.GatewayClassList = exports.GatewayClass = exports.Gateway = exports.BackendTLSPolicyPatch = exports.BackendTLSPolicyList = exports.BackendTLSPolicy = void 0;
38
+ exports.TLSRoutePatch = exports.TLSRouteList = exports.TLSRoute = exports.ReferenceGrantPatch = exports.ReferenceGrantList = exports.ReferenceGrant = exports.ListenerSetPatch = exports.ListenerSetList = exports.ListenerSet = exports.HTTPRoutePatch = exports.HTTPRouteList = exports.HTTPRoute = exports.GRPCRoutePatch = exports.GRPCRouteList = exports.GRPCRoute = exports.GatewayPatch = exports.GatewayList = exports.GatewayClassPatch = exports.GatewayClassList = exports.GatewayClass = exports.Gateway = exports.BackendTLSPolicyPatch = exports.BackendTLSPolicyList = exports.BackendTLSPolicy = void 0;
39
39
  const pulumi = __importStar(require("@pulumi/pulumi"));
40
40
  const utilities = __importStar(require("../../utilities"));
41
41
  exports.BackendTLSPolicy = null;
@@ -68,6 +68,12 @@ exports.HTTPRouteList = null;
68
68
  utilities.lazyLoad(exports, ["HTTPRouteList"], () => require("./httprouteList"));
69
69
  exports.HTTPRoutePatch = null;
70
70
  utilities.lazyLoad(exports, ["HTTPRoutePatch"], () => require("./httproutePatch"));
71
+ exports.ListenerSet = null;
72
+ utilities.lazyLoad(exports, ["ListenerSet"], () => require("./listenerSet"));
73
+ exports.ListenerSetList = null;
74
+ utilities.lazyLoad(exports, ["ListenerSetList"], () => require("./listenerSetList"));
75
+ exports.ListenerSetPatch = null;
76
+ utilities.lazyLoad(exports, ["ListenerSetPatch"], () => require("./listenerSetPatch"));
71
77
  exports.ReferenceGrant = null;
72
78
  utilities.lazyLoad(exports, ["ReferenceGrant"], () => require("./referenceGrant"));
73
79
  exports.ReferenceGrantList = null;
@@ -114,6 +120,12 @@ const _module = {
114
120
  return new exports.HTTPRouteList(name, undefined, { urn });
115
121
  case "kubernetes:gateway.networking.k8s.io/v1:HTTPRoutePatch":
116
122
  return new exports.HTTPRoutePatch(name, undefined, { urn });
123
+ case "kubernetes:gateway.networking.k8s.io/v1:ListenerSet":
124
+ return new exports.ListenerSet(name, undefined, { urn });
125
+ case "kubernetes:gateway.networking.k8s.io/v1:ListenerSetList":
126
+ return new exports.ListenerSetList(name, undefined, { urn });
127
+ case "kubernetes:gateway.networking.k8s.io/v1:ListenerSetPatch":
128
+ return new exports.ListenerSetPatch(name, undefined, { urn });
117
129
  case "kubernetes:gateway.networking.k8s.io/v1:ReferenceGrant":
118
130
  return new exports.ReferenceGrant(name, undefined, { urn });
119
131
  case "kubernetes:gateway.networking.k8s.io/v1:ReferenceGrantList":
@@ -0,0 +1,91 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../../types/input";
3
+ import * as outputs from "../../types/output";
4
+ /**
5
+ * ListenerSet defines a set of additional listeners to attach to an existing Gateway.
6
+ * This resource provides a mechanism to merge multiple listeners into a single Gateway.
7
+ *
8
+ * The parent Gateway must explicitly allow ListenerSet attachment through its
9
+ * AllowedListeners configuration. By default, Gateways do not allow ListenerSet
10
+ * attachment.
11
+ *
12
+ * Routes can attach to a ListenerSet by specifying it as a parentRef, and can
13
+ * optionally target specific listeners using the sectionName field.
14
+ *
15
+ * Policy Attachment:
16
+ * - Policies that attach to a ListenerSet apply to all listeners defined in that resource
17
+ * - Policies do not impact listeners in the parent Gateway
18
+ * - Different ListenerSets attached to the same Gateway can have different policies
19
+ * - If an implementation cannot apply a policy to specific listeners, it should reject the policy
20
+ *
21
+ * ReferenceGrant Semantics:
22
+ * - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
23
+ * - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
24
+ * - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
25
+ *
26
+ * Gateway Integration:
27
+ * - The parent Gateway's status will include "AttachedListenerSets"
28
+ * which is the count of ListenerSets that have successfully attached to a Gateway
29
+ * A ListenerSet is successfully attached to a Gateway when all the following conditions are met:
30
+ * - The ListenerSet is selected by the Gateway's AllowedListeners field
31
+ * - The ListenerSet has a valid ParentRef selecting the Gateway
32
+ * - The ListenerSet's status has the condition "Accepted: true"
33
+ */
34
+ export declare class ListenerSet extends pulumi.CustomResource {
35
+ /**
36
+ * Get an existing ListenerSet resource's state with the given name, ID, and optional extra
37
+ * properties used to qualify the lookup.
38
+ *
39
+ * @param name The _unique_ name of the resulting resource.
40
+ * @param id The _unique_ provider ID of the resource to lookup.
41
+ * @param opts Optional settings to control the behavior of the CustomResource.
42
+ */
43
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ListenerSet;
44
+ /** @internal */
45
+ static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:ListenerSet";
46
+ /**
47
+ * Returns true if the given object is an instance of ListenerSet. This is designed to work even
48
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
49
+ */
50
+ static isInstance(obj: any): obj is ListenerSet;
51
+ /**
52
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
53
+ */
54
+ readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
55
+ /**
56
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
57
+ */
58
+ readonly kind: pulumi.Output<"ListenerSet">;
59
+ /**
60
+ * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
61
+ */
62
+ readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
63
+ readonly spec: pulumi.Output<outputs.gateway.v1.ListenerSetSpec>;
64
+ readonly status: pulumi.Output<outputs.gateway.v1.ListenerSetStatus>;
65
+ /**
66
+ * Create a ListenerSet resource with the given unique name, arguments, and options.
67
+ *
68
+ * @param name The _unique_ name of the resource.
69
+ * @param args The arguments to use to populate this resource's properties.
70
+ * @param opts A bag of options that control this resource's behavior.
71
+ */
72
+ constructor(name: string, args?: ListenerSetArgs, opts?: pulumi.CustomResourceOptions);
73
+ }
74
+ /**
75
+ * The set of arguments for constructing a ListenerSet resource.
76
+ */
77
+ export interface ListenerSetArgs {
78
+ /**
79
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
80
+ */
81
+ apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
82
+ /**
83
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
84
+ */
85
+ kind?: pulumi.Input<"ListenerSet">;
86
+ /**
87
+ * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
88
+ */
89
+ metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
90
+ spec?: pulumi.Input<inputs.gateway.v1.ListenerSetSpec>;
91
+ }
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by crd2pulumi. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.ListenerSet = void 0;
39
+ const pulumi = __importStar(require("@pulumi/pulumi"));
40
+ const utilities = __importStar(require("../../utilities"));
41
+ /**
42
+ * ListenerSet defines a set of additional listeners to attach to an existing Gateway.
43
+ * This resource provides a mechanism to merge multiple listeners into a single Gateway.
44
+ *
45
+ * The parent Gateway must explicitly allow ListenerSet attachment through its
46
+ * AllowedListeners configuration. By default, Gateways do not allow ListenerSet
47
+ * attachment.
48
+ *
49
+ * Routes can attach to a ListenerSet by specifying it as a parentRef, and can
50
+ * optionally target specific listeners using the sectionName field.
51
+ *
52
+ * Policy Attachment:
53
+ * - Policies that attach to a ListenerSet apply to all listeners defined in that resource
54
+ * - Policies do not impact listeners in the parent Gateway
55
+ * - Different ListenerSets attached to the same Gateway can have different policies
56
+ * - If an implementation cannot apply a policy to specific listeners, it should reject the policy
57
+ *
58
+ * ReferenceGrant Semantics:
59
+ * - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
60
+ * - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
61
+ * - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
62
+ *
63
+ * Gateway Integration:
64
+ * - The parent Gateway's status will include "AttachedListenerSets"
65
+ * which is the count of ListenerSets that have successfully attached to a Gateway
66
+ * A ListenerSet is successfully attached to a Gateway when all the following conditions are met:
67
+ * - The ListenerSet is selected by the Gateway's AllowedListeners field
68
+ * - The ListenerSet has a valid ParentRef selecting the Gateway
69
+ * - The ListenerSet's status has the condition "Accepted: true"
70
+ */
71
+ class ListenerSet extends pulumi.CustomResource {
72
+ /**
73
+ * Get an existing ListenerSet resource's state with the given name, ID, and optional extra
74
+ * properties used to qualify the lookup.
75
+ *
76
+ * @param name The _unique_ name of the resulting resource.
77
+ * @param id The _unique_ provider ID of the resource to lookup.
78
+ * @param opts Optional settings to control the behavior of the CustomResource.
79
+ */
80
+ static get(name, id, opts) {
81
+ return new ListenerSet(name, undefined, { ...opts, id: id });
82
+ }
83
+ /** @internal */
84
+ static __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:ListenerSet';
85
+ /**
86
+ * Returns true if the given object is an instance of ListenerSet. This is designed to work even
87
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
88
+ */
89
+ static isInstance(obj) {
90
+ if (obj === undefined || obj === null) {
91
+ return false;
92
+ }
93
+ return obj['__pulumiType'] === ListenerSet.__pulumiType;
94
+ }
95
+ /**
96
+ * Create a ListenerSet resource with the given unique name, arguments, and options.
97
+ *
98
+ * @param name The _unique_ name of the resource.
99
+ * @param args The arguments to use to populate this resource's properties.
100
+ * @param opts A bag of options that control this resource's behavior.
101
+ */
102
+ constructor(name, args, opts) {
103
+ let resourceInputs = {};
104
+ opts = opts || {};
105
+ if (!opts.id) {
106
+ resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
107
+ resourceInputs["kind"] = "ListenerSet";
108
+ resourceInputs["metadata"] = args?.metadata;
109
+ resourceInputs["spec"] = args?.spec;
110
+ resourceInputs["status"] = undefined /*out*/;
111
+ }
112
+ else {
113
+ resourceInputs["apiVersion"] = undefined /*out*/;
114
+ resourceInputs["kind"] = undefined /*out*/;
115
+ resourceInputs["metadata"] = undefined /*out*/;
116
+ resourceInputs["spec"] = undefined /*out*/;
117
+ resourceInputs["status"] = undefined /*out*/;
118
+ }
119
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
120
+ super(ListenerSet.__pulumiType, name, resourceInputs, opts);
121
+ }
122
+ }
123
+ exports.ListenerSet = ListenerSet;
@@ -0,0 +1,69 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../../types/input";
3
+ import * as outputs from "../../types/output";
4
+ /**
5
+ * ListenerSetList is a list of ListenerSet
6
+ */
7
+ export declare class ListenerSetList extends pulumi.CustomResource {
8
+ /**
9
+ * Get an existing ListenerSetList resource's state with the given name, ID, and optional extra
10
+ * properties used to qualify the lookup.
11
+ *
12
+ * @param name The _unique_ name of the resulting resource.
13
+ * @param id The _unique_ provider ID of the resource to lookup.
14
+ * @param opts Optional settings to control the behavior of the CustomResource.
15
+ */
16
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ListenerSetList;
17
+ /** @internal */
18
+ static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:ListenerSetList";
19
+ /**
20
+ * Returns true if the given object is an instance of ListenerSetList. This is designed to work even
21
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
22
+ */
23
+ static isInstance(obj: any): obj is ListenerSetList;
24
+ /**
25
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
26
+ */
27
+ readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
28
+ /**
29
+ * List of listenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
30
+ */
31
+ readonly items: pulumi.Output<outputs.gateway.v1.ListenerSet[]>;
32
+ /**
33
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
34
+ */
35
+ readonly kind: pulumi.Output<"ListenerSetList">;
36
+ /**
37
+ * Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
38
+ */
39
+ readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
40
+ /**
41
+ * Create a ListenerSetList resource with the given unique name, arguments, and options.
42
+ *
43
+ * @param name The _unique_ name of the resource.
44
+ * @param args The arguments to use to populate this resource's properties.
45
+ * @param opts A bag of options that control this resource's behavior.
46
+ */
47
+ constructor(name: string, args?: ListenerSetListArgs, opts?: pulumi.CustomResourceOptions);
48
+ }
49
+ /**
50
+ * The set of arguments for constructing a ListenerSetList resource.
51
+ */
52
+ export interface ListenerSetListArgs {
53
+ /**
54
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
55
+ */
56
+ apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
57
+ /**
58
+ * List of listenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
59
+ */
60
+ items: pulumi.Input<pulumi.Input<inputs.gateway.v1.ListenerSet>[]>;
61
+ /**
62
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
63
+ */
64
+ kind?: pulumi.Input<"ListenerSetList">;
65
+ /**
66
+ * Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
67
+ */
68
+ metadata?: pulumi.Input<inputs.meta.v1.ListMeta>;
69
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ // *** WARNING: this file was generated by crd2pulumi. ***
3
+ // *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.ListenerSetList = void 0;
39
+ const pulumi = __importStar(require("@pulumi/pulumi"));
40
+ const utilities = __importStar(require("../../utilities"));
41
+ /**
42
+ * ListenerSetList is a list of ListenerSet
43
+ */
44
+ class ListenerSetList extends pulumi.CustomResource {
45
+ /**
46
+ * Get an existing ListenerSetList resource's state with the given name, ID, and optional extra
47
+ * properties used to qualify the lookup.
48
+ *
49
+ * @param name The _unique_ name of the resulting resource.
50
+ * @param id The _unique_ provider ID of the resource to lookup.
51
+ * @param opts Optional settings to control the behavior of the CustomResource.
52
+ */
53
+ static get(name, id, opts) {
54
+ return new ListenerSetList(name, undefined, { ...opts, id: id });
55
+ }
56
+ /** @internal */
57
+ static __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:ListenerSetList';
58
+ /**
59
+ * Returns true if the given object is an instance of ListenerSetList. This is designed to work even
60
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
61
+ */
62
+ static isInstance(obj) {
63
+ if (obj === undefined || obj === null) {
64
+ return false;
65
+ }
66
+ return obj['__pulumiType'] === ListenerSetList.__pulumiType;
67
+ }
68
+ /**
69
+ * Create a ListenerSetList resource with the given unique name, arguments, and options.
70
+ *
71
+ * @param name The _unique_ name of the resource.
72
+ * @param args The arguments to use to populate this resource's properties.
73
+ * @param opts A bag of options that control this resource's behavior.
74
+ */
75
+ constructor(name, args, opts) {
76
+ let resourceInputs = {};
77
+ opts = opts || {};
78
+ if (!opts.id) {
79
+ if (args?.items === undefined && !opts.urn) {
80
+ throw new Error("Missing required property 'items'");
81
+ }
82
+ resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
83
+ resourceInputs["items"] = args?.items;
84
+ resourceInputs["kind"] = "ListenerSetList";
85
+ resourceInputs["metadata"] = args?.metadata;
86
+ }
87
+ else {
88
+ resourceInputs["apiVersion"] = undefined /*out*/;
89
+ resourceInputs["items"] = undefined /*out*/;
90
+ resourceInputs["kind"] = undefined /*out*/;
91
+ resourceInputs["metadata"] = undefined /*out*/;
92
+ }
93
+ opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
94
+ super(ListenerSetList.__pulumiType, name, resourceInputs, opts);
95
+ }
96
+ }
97
+ exports.ListenerSetList = ListenerSetList;
@@ -0,0 +1,97 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../../types/input";
3
+ import * as outputs from "../../types/output";
4
+ /**
5
+ * Patch resources are used to modify existing Kubernetes resources by using
6
+ * Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
7
+ * one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
8
+ * Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
9
+ * [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
10
+ * additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
11
+ * ListenerSet defines a set of additional listeners to attach to an existing Gateway.
12
+ * This resource provides a mechanism to merge multiple listeners into a single Gateway.
13
+ *
14
+ * The parent Gateway must explicitly allow ListenerSet attachment through its
15
+ * AllowedListeners configuration. By default, Gateways do not allow ListenerSet
16
+ * attachment.
17
+ *
18
+ * Routes can attach to a ListenerSet by specifying it as a parentRef, and can
19
+ * optionally target specific listeners using the sectionName field.
20
+ *
21
+ * Policy Attachment:
22
+ * - Policies that attach to a ListenerSet apply to all listeners defined in that resource
23
+ * - Policies do not impact listeners in the parent Gateway
24
+ * - Different ListenerSets attached to the same Gateway can have different policies
25
+ * - If an implementation cannot apply a policy to specific listeners, it should reject the policy
26
+ *
27
+ * ReferenceGrant Semantics:
28
+ * - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
29
+ * - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
30
+ * - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
31
+ *
32
+ * Gateway Integration:
33
+ * - The parent Gateway's status will include "AttachedListenerSets"
34
+ * which is the count of ListenerSets that have successfully attached to a Gateway
35
+ * A ListenerSet is successfully attached to a Gateway when all the following conditions are met:
36
+ * - The ListenerSet is selected by the Gateway's AllowedListeners field
37
+ * - The ListenerSet has a valid ParentRef selecting the Gateway
38
+ * - The ListenerSet's status has the condition "Accepted: true"
39
+ */
40
+ export declare class ListenerSetPatch extends pulumi.CustomResource {
41
+ /**
42
+ * Get an existing ListenerSetPatch resource's state with the given name, ID, and optional extra
43
+ * properties used to qualify the lookup.
44
+ *
45
+ * @param name The _unique_ name of the resulting resource.
46
+ * @param id The _unique_ provider ID of the resource to lookup.
47
+ * @param opts Optional settings to control the behavior of the CustomResource.
48
+ */
49
+ static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ListenerSetPatch;
50
+ /** @internal */
51
+ static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:ListenerSetPatch";
52
+ /**
53
+ * Returns true if the given object is an instance of ListenerSetPatch. This is designed to work even
54
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
55
+ */
56
+ static isInstance(obj: any): obj is ListenerSetPatch;
57
+ /**
58
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
59
+ */
60
+ readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
61
+ /**
62
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
63
+ */
64
+ readonly kind: pulumi.Output<"ListenerSet">;
65
+ /**
66
+ * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
67
+ */
68
+ readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
69
+ readonly spec: pulumi.Output<outputs.gateway.v1.ListenerSetSpecPatch>;
70
+ readonly status: pulumi.Output<outputs.gateway.v1.ListenerSetStatusPatch>;
71
+ /**
72
+ * Create a ListenerSetPatch resource with the given unique name, arguments, and options.
73
+ *
74
+ * @param name The _unique_ name of the resource.
75
+ * @param args The arguments to use to populate this resource's properties.
76
+ * @param opts A bag of options that control this resource's behavior.
77
+ */
78
+ constructor(name: string, args?: ListenerSetPatchArgs, opts?: pulumi.CustomResourceOptions);
79
+ }
80
+ /**
81
+ * The set of arguments for constructing a ListenerSetPatch resource.
82
+ */
83
+ export interface ListenerSetPatchArgs {
84
+ /**
85
+ * APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
86
+ */
87
+ apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
88
+ /**
89
+ * Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
90
+ */
91
+ kind?: pulumi.Input<"ListenerSet">;
92
+ /**
93
+ * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
94
+ */
95
+ metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
96
+ spec?: pulumi.Input<inputs.gateway.v1.ListenerSetSpecPatch>;
97
+ }