@kilic.dev/pulumi-k8s-crds 4.0.0 → 4.0.1

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.
Files changed (31) hide show
  1. package/dist/cilium/v2/index.d.ts +0 -36
  2. package/dist/cilium/v2/index.js +1 -49
  3. package/dist/package.json +1 -1
  4. package/dist/types/input.d.ts +83 -1663
  5. package/dist/types/output.d.ts +79 -1666
  6. package/dist/utilities.js +1 -1
  7. package/package.json +1 -1
  8. package/dist/cilium/v2/ciliumClusterwideEnvoyConfig.d.ts +0 -61
  9. package/dist/cilium/v2/ciliumClusterwideEnvoyConfig.js +0 -96
  10. package/dist/cilium/v2/ciliumClusterwideEnvoyConfigList.d.ts +0 -70
  11. package/dist/cilium/v2/ciliumClusterwideEnvoyConfigList.js +0 -99
  12. package/dist/cilium/v2/ciliumClusterwideEnvoyConfigPatch.d.ts +0 -69
  13. package/dist/cilium/v2/ciliumClusterwideEnvoyConfigPatch.js +0 -99
  14. package/dist/cilium/v2/ciliumEgressGatewayPolicy.d.ts +0 -61
  15. package/dist/cilium/v2/ciliumEgressGatewayPolicy.js +0 -96
  16. package/dist/cilium/v2/ciliumEgressGatewayPolicyList.d.ts +0 -70
  17. package/dist/cilium/v2/ciliumEgressGatewayPolicyList.js +0 -99
  18. package/dist/cilium/v2/ciliumEgressGatewayPolicyPatch.d.ts +0 -69
  19. package/dist/cilium/v2/ciliumEgressGatewayPolicyPatch.js +0 -99
  20. package/dist/cilium/v2/ciliumEnvoyConfig.d.ts +0 -61
  21. package/dist/cilium/v2/ciliumEnvoyConfig.js +0 -96
  22. package/dist/cilium/v2/ciliumEnvoyConfigList.d.ts +0 -70
  23. package/dist/cilium/v2/ciliumEnvoyConfigList.js +0 -99
  24. package/dist/cilium/v2/ciliumEnvoyConfigPatch.d.ts +0 -69
  25. package/dist/cilium/v2/ciliumEnvoyConfigPatch.js +0 -99
  26. package/dist/cilium/v2/ciliumLocalRedirectPolicy.d.ts +0 -66
  27. package/dist/cilium/v2/ciliumLocalRedirectPolicy.js +0 -102
  28. package/dist/cilium/v2/ciliumLocalRedirectPolicyList.d.ts +0 -70
  29. package/dist/cilium/v2/ciliumLocalRedirectPolicyList.js +0 -99
  30. package/dist/cilium/v2/ciliumLocalRedirectPolicyPatch.d.ts +0 -72
  31. package/dist/cilium/v2/ciliumLocalRedirectPolicyPatch.js +0 -103
@@ -54401,253 +54401,6 @@ export declare namespace cilium {
54401
54401
  */
54402
54402
  externalCIDRs: string[];
54403
54403
  }
54404
- interface CiliumClusterwideEnvoyConfig {
54405
- /**
54406
- * 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
54407
- */
54408
- apiVersion: "cilium.io/v2";
54409
- /**
54410
- * 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
54411
- */
54412
- kind: "CiliumClusterwideEnvoyConfig";
54413
- /**
54414
- * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
54415
- */
54416
- metadata: pulumiKubernetes.types.output.meta.v1.ObjectMeta;
54417
- spec: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpec;
54418
- }
54419
- interface CiliumClusterwideEnvoyConfigSpec {
54420
- /**
54421
- * BackendServices specifies Kubernetes services whose backends
54422
- * are automatically synced to Envoy using EDS. Traffic for these
54423
- * services is not forwarded to an Envoy listener. This allows an
54424
- * Envoy listener load balance traffic to these backends while
54425
- * normal Cilium service load balancing takes care of balancing
54426
- * traffic for these services at the same time.
54427
- */
54428
- backendServices: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecBackendServices[];
54429
- nodeSelector: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecNodeSelector;
54430
- /**
54431
- * Envoy xDS resources, a list of the following Envoy resource types:
54432
- * type.googleapis.com/envoy.config.listener.v3.Listener,
54433
- * type.googleapis.com/envoy.config.route.v3.RouteConfiguration,
54434
- * type.googleapis.com/envoy.config.cluster.v3.Cluster,
54435
- * type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and
54436
- * type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.
54437
- */
54438
- resources: {
54439
- [key: string]: any;
54440
- }[];
54441
- /**
54442
- * Services specifies Kubernetes services for which traffic is
54443
- * forwarded to an Envoy listener for L7 load balancing. Backends
54444
- * of these services are automatically synced to Envoy usign EDS.
54445
- */
54446
- services: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecServices[];
54447
- }
54448
- interface CiliumClusterwideEnvoyConfigSpecBackendServices {
54449
- /**
54450
- * Name is the name of a destination Kubernetes service that identifies traffic
54451
- * to be redirected.
54452
- */
54453
- name: string;
54454
- /**
54455
- * Namespace is the Kubernetes service namespace.
54456
- * In CiliumEnvoyConfig namespace defaults to the namespace of the CEC,
54457
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
54458
- */
54459
- namespace: string;
54460
- /**
54461
- * Ports is a set of port numbers, which can be used for filtering in case of underlying
54462
- * is exposing multiple port numbers.
54463
- */
54464
- number: string[];
54465
- }
54466
- interface CiliumClusterwideEnvoyConfigSpecBackendServicesPatch {
54467
- /**
54468
- * Name is the name of a destination Kubernetes service that identifies traffic
54469
- * to be redirected.
54470
- */
54471
- name: string;
54472
- /**
54473
- * Namespace is the Kubernetes service namespace.
54474
- * In CiliumEnvoyConfig namespace defaults to the namespace of the CEC,
54475
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
54476
- */
54477
- namespace: string;
54478
- /**
54479
- * Ports is a set of port numbers, which can be used for filtering in case of underlying
54480
- * is exposing multiple port numbers.
54481
- */
54482
- number: string[];
54483
- }
54484
- /**
54485
- * NodeSelector is a label selector that determines to which nodes
54486
- * this configuration applies.
54487
- * If nil, then this config applies to all nodes.
54488
- */
54489
- interface CiliumClusterwideEnvoyConfigSpecNodeSelector {
54490
- /**
54491
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
54492
- */
54493
- matchExpressions: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecNodeSelectorMatchExpressions[];
54494
- /**
54495
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
54496
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
54497
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
54498
- */
54499
- matchLabels: {
54500
- [key: string]: string;
54501
- };
54502
- }
54503
- /**
54504
- * A label selector requirement is a selector that contains values, a key, and an operator that
54505
- * relates the key and values.
54506
- */
54507
- interface CiliumClusterwideEnvoyConfigSpecNodeSelectorMatchExpressions {
54508
- /**
54509
- * key is the label key that the selector applies to.
54510
- */
54511
- key: string;
54512
- /**
54513
- * operator represents a key's relationship to a set of values.
54514
- * Valid operators are In, NotIn, Exists and DoesNotExist.
54515
- */
54516
- operator: string;
54517
- /**
54518
- * values is an array of string values. If the operator is In or NotIn,
54519
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
54520
- * the values array must be empty. This array is replaced during a strategic
54521
- * merge patch.
54522
- */
54523
- values: string[];
54524
- }
54525
- /**
54526
- * A label selector requirement is a selector that contains values, a key, and an operator that
54527
- * relates the key and values.
54528
- */
54529
- interface CiliumClusterwideEnvoyConfigSpecNodeSelectorMatchExpressionsPatch {
54530
- /**
54531
- * key is the label key that the selector applies to.
54532
- */
54533
- key: string;
54534
- /**
54535
- * operator represents a key's relationship to a set of values.
54536
- * Valid operators are In, NotIn, Exists and DoesNotExist.
54537
- */
54538
- operator: string;
54539
- /**
54540
- * values is an array of string values. If the operator is In or NotIn,
54541
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
54542
- * the values array must be empty. This array is replaced during a strategic
54543
- * merge patch.
54544
- */
54545
- values: string[];
54546
- }
54547
- /**
54548
- * NodeSelector is a label selector that determines to which nodes
54549
- * this configuration applies.
54550
- * If nil, then this config applies to all nodes.
54551
- */
54552
- interface CiliumClusterwideEnvoyConfigSpecNodeSelectorPatch {
54553
- /**
54554
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
54555
- */
54556
- matchExpressions: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecNodeSelectorMatchExpressionsPatch[];
54557
- /**
54558
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
54559
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
54560
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
54561
- */
54562
- matchLabels: {
54563
- [key: string]: string;
54564
- };
54565
- }
54566
- interface CiliumClusterwideEnvoyConfigSpecPatch {
54567
- /**
54568
- * BackendServices specifies Kubernetes services whose backends
54569
- * are automatically synced to Envoy using EDS. Traffic for these
54570
- * services is not forwarded to an Envoy listener. This allows an
54571
- * Envoy listener load balance traffic to these backends while
54572
- * normal Cilium service load balancing takes care of balancing
54573
- * traffic for these services at the same time.
54574
- */
54575
- backendServices: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecBackendServicesPatch[];
54576
- nodeSelector: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecNodeSelectorPatch;
54577
- /**
54578
- * Envoy xDS resources, a list of the following Envoy resource types:
54579
- * type.googleapis.com/envoy.config.listener.v3.Listener,
54580
- * type.googleapis.com/envoy.config.route.v3.RouteConfiguration,
54581
- * type.googleapis.com/envoy.config.cluster.v3.Cluster,
54582
- * type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and
54583
- * type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.
54584
- */
54585
- resources: {
54586
- [key: string]: any;
54587
- }[];
54588
- /**
54589
- * Services specifies Kubernetes services for which traffic is
54590
- * forwarded to an Envoy listener for L7 load balancing. Backends
54591
- * of these services are automatically synced to Envoy usign EDS.
54592
- */
54593
- services: outputs.cilium.v2.CiliumClusterwideEnvoyConfigSpecServicesPatch[];
54594
- }
54595
- interface CiliumClusterwideEnvoyConfigSpecServices {
54596
- /**
54597
- * Listener specifies the name of the Envoy listener the
54598
- * service traffic is redirected to. The listener must be
54599
- * specified in the Envoy 'resources' of the same
54600
- * CiliumEnvoyConfig.
54601
- *
54602
- * If omitted, the first listener specified in 'resources' is
54603
- * used.
54604
- */
54605
- listener: string;
54606
- /**
54607
- * Name is the name of a destination Kubernetes service that identifies traffic
54608
- * to be redirected.
54609
- */
54610
- name: string;
54611
- /**
54612
- * Namespace is the Kubernetes service namespace.
54613
- * In CiliumEnvoyConfig namespace this is overridden to the namespace of the CEC,
54614
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
54615
- */
54616
- namespace: string;
54617
- /**
54618
- * Ports is a set of service's frontend ports that should be redirected to the Envoy
54619
- * listener. By default all frontend ports of the service are redirected.
54620
- */
54621
- ports: number[];
54622
- }
54623
- interface CiliumClusterwideEnvoyConfigSpecServicesPatch {
54624
- /**
54625
- * Listener specifies the name of the Envoy listener the
54626
- * service traffic is redirected to. The listener must be
54627
- * specified in the Envoy 'resources' of the same
54628
- * CiliumEnvoyConfig.
54629
- *
54630
- * If omitted, the first listener specified in 'resources' is
54631
- * used.
54632
- */
54633
- listener: string;
54634
- /**
54635
- * Name is the name of a destination Kubernetes service that identifies traffic
54636
- * to be redirected.
54637
- */
54638
- name: string;
54639
- /**
54640
- * Namespace is the Kubernetes service namespace.
54641
- * In CiliumEnvoyConfig namespace this is overridden to the namespace of the CEC,
54642
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
54643
- */
54644
- namespace: string;
54645
- /**
54646
- * Ports is a set of service's frontend ports that should be redirected to the Envoy
54647
- * listener. By default all frontend ports of the service are redirected.
54648
- */
54649
- ports: number[];
54650
- }
54651
54404
  /**
54652
54405
  * CiliumClusterwideNetworkPolicy is a Kubernetes third-party resource with an
54653
54406
  * modified version of CiliumNetworkPolicy which is cluster scoped rather than
@@ -64499,7 +64252,12 @@ export declare namespace cilium {
64499
64252
  };
64500
64253
  };
64501
64254
  }
64502
- interface CiliumEgressGatewayPolicy {
64255
+ /**
64256
+ * CiliumLoadBalancerIPPool is a Kubernetes third-party resource which
64257
+ * is used to defined pools of IPs which the operator can use to allocate
64258
+ * and advertise IPs for Services of type LoadBalancer.
64259
+ */
64260
+ interface CiliumLoadBalancerIPPool {
64503
64261
  /**
64504
64262
  * 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
64505
64263
  */
@@ -64507,92 +64265,82 @@ export declare namespace cilium {
64507
64265
  /**
64508
64266
  * 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
64509
64267
  */
64510
- kind: "CiliumEgressGatewayPolicy";
64268
+ kind: "CiliumLoadBalancerIPPool";
64511
64269
  /**
64512
64270
  * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
64513
64271
  */
64514
64272
  metadata: pulumiKubernetes.types.output.meta.v1.ObjectMeta;
64515
- spec: outputs.cilium.v2.CiliumEgressGatewayPolicySpec;
64273
+ spec: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpec;
64274
+ status: outputs.cilium.v2.CiliumLoadBalancerIPPoolStatus;
64516
64275
  }
64517
- interface CiliumEgressGatewayPolicySpec {
64518
- /**
64519
- * DestinationCIDRs is a list of destination CIDRs for destination IP addresses.
64520
- * If a destination IP matches any one CIDR, it will be selected.
64521
- */
64522
- destinationCIDRs: string[];
64523
- egressGateway: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGateway;
64276
+ /**
64277
+ * Spec is a human readable description for a BGP load balancer
64278
+ * ip pool.
64279
+ */
64280
+ interface CiliumLoadBalancerIPPoolSpec {
64524
64281
  /**
64525
- * Optional list of gateway nodes responsible for SNATing traffic.
64526
- * If this field has any entries the contents of the egressGateway field will be ignored.
64527
- * In case multiple nodes are a match for the given set of labels in each entry,
64528
- * the first node in lexical ordering based on their name will be selected for each entry.
64282
+ * AllowFirstLastIPs, if set to `Yes` or undefined means that the first and last IPs of each CIDR will be allocatable.
64283
+ * If `No`, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since
64284
+ * reserving the first and last IPs would make the CIDRs unusable.
64529
64285
  */
64530
- egressGateways: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGateways[];
64286
+ allowFirstLastIPs: string;
64531
64287
  /**
64532
- * ExcludedCIDRs is a list of destination CIDRs that will be excluded
64533
- * from the egress gateway redirection and SNAT logic.
64534
- * Should be a subset of destinationCIDRs otherwise it will not have any
64535
- * effect.
64288
+ * Blocks is a list of CIDRs comprising this IP Pool
64536
64289
  */
64537
- excludedCIDRs: string[];
64290
+ blocks: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecBlocks[];
64538
64291
  /**
64539
- * Egress represents a list of rules by which egress traffic is
64540
- * filtered from the source pods.
64292
+ * Disabled, if set to true means that no new IPs will be allocated from this pool.
64293
+ * Existing allocations will not be removed from services.
64541
64294
  */
64542
- selectors: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectors[];
64295
+ disabled: boolean;
64296
+ serviceSelector: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelector;
64297
+ }
64298
+ /**
64299
+ * CiliumLoadBalancerIPPoolIPBlock describes a single IP block.
64300
+ */
64301
+ interface CiliumLoadBalancerIPPoolSpecBlocks {
64302
+ cidr: string;
64303
+ start: string;
64304
+ stop: string;
64305
+ }
64306
+ /**
64307
+ * CiliumLoadBalancerIPPoolIPBlock describes a single IP block.
64308
+ */
64309
+ interface CiliumLoadBalancerIPPoolSpecBlocksPatch {
64310
+ cidr: string;
64311
+ start: string;
64312
+ stop: string;
64543
64313
  }
64544
64314
  /**
64545
- * EgressGateway is the gateway node responsible for SNATing traffic.
64546
- * In case multiple nodes are a match for the given set of labels, the first node
64547
- * in lexical ordering based on their name will be selected.
64315
+ * Spec is a human readable description for a BGP load balancer
64316
+ * ip pool.
64548
64317
  */
64549
- interface CiliumEgressGatewayPolicySpecEgressGateway {
64318
+ interface CiliumLoadBalancerIPPoolSpecPatch {
64550
64319
  /**
64551
- * EgressIP is the source IP address that the egress traffic is SNATed
64552
- * with.
64553
- *
64554
- * Example:
64555
- * When set to "192.168.1.100", matching egress traffic will be
64556
- * redirected to the node matching the NodeSelector field and SNATed
64557
- * with IP address 192.168.1.100.
64558
- *
64559
- * When set to "2001:db8::1", matching egress traffic will be
64560
- * redirected to the node matching the NodeSelector field and SNATed
64561
- * with IPv6 address 2001:db8::1.
64562
- *
64563
- * When none of the Interface or EgressIP fields is specified, the
64564
- * policy will use the first IPv4 assigned to the interface with the
64565
- * default route.
64320
+ * AllowFirstLastIPs, if set to `Yes` or undefined means that the first and last IPs of each CIDR will be allocatable.
64321
+ * If `No`, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since
64322
+ * reserving the first and last IPs would make the CIDRs unusable.
64566
64323
  */
64567
- egressIP: string;
64324
+ allowFirstLastIPs: string;
64568
64325
  /**
64569
- * Interface is the network interface to which the egress IP address
64570
- * that the traffic is SNATed with is assigned.
64571
- *
64572
- * Example:
64573
- * When set to "eth1", matching egress traffic will be redirected to the
64574
- * node matching the NodeSelector field and SNATed with the first IPv4
64575
- * address assigned to the eth1 interface.
64576
- *
64577
- * When none of the Interface or EgressIP fields is specified, the
64578
- * policy will use the first IPv4 assigned to the interface with the
64579
- * default route.
64326
+ * Blocks is a list of CIDRs comprising this IP Pool
64327
+ */
64328
+ blocks: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecBlocksPatch[];
64329
+ /**
64330
+ * Disabled, if set to true means that no new IPs will be allocated from this pool.
64331
+ * Existing allocations will not be removed from services.
64580
64332
  */
64581
- interface: string;
64582
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewayNodeSelector;
64333
+ disabled: boolean;
64334
+ serviceSelector: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorPatch;
64583
64335
  }
64584
64336
  /**
64585
- * This is a label selector which selects the node that should act as
64586
- * egress gateway for the given policy.
64587
- * In case multiple nodes are selected, only the first one in the
64588
- * lexical ordering over the node names will be used.
64589
- * This field follows standard label selector semantics.
64337
+ * ServiceSelector selects a set of services which are eligible to receive IPs from this
64590
64338
  */
64591
- interface CiliumEgressGatewayPolicySpecEgressGatewayNodeSelector {
64339
+ interface CiliumLoadBalancerIPPoolSpecServiceSelector {
64592
64340
  /**
64593
64341
  * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64594
64342
  */
64595
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorMatchExpressions[];
64343
+ matchExpressions: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressions[];
64596
64344
  /**
64597
64345
  * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64598
64346
  * map is equivalent to an element of matchExpressions, whose key field is "key", the
@@ -64606,7 +64354,7 @@ export declare namespace cilium {
64606
64354
  * A label selector requirement is a selector that contains values, a key, and an operator that
64607
64355
  * relates the key and values.
64608
64356
  */
64609
- interface CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorMatchExpressions {
64357
+ interface CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressions {
64610
64358
  /**
64611
64359
  * key is the label key that the selector applies to.
64612
64360
  */
@@ -64628,7 +64376,7 @@ export declare namespace cilium {
64628
64376
  * A label selector requirement is a selector that contains values, a key, and an operator that
64629
64377
  * relates the key and values.
64630
64378
  */
64631
- interface CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorMatchExpressionsPatch {
64379
+ interface CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressionsPatch {
64632
64380
  /**
64633
64381
  * key is the label key that the selector applies to.
64634
64382
  */
@@ -64647,17 +64395,13 @@ export declare namespace cilium {
64647
64395
  values: string[];
64648
64396
  }
64649
64397
  /**
64650
- * This is a label selector which selects the node that should act as
64651
- * egress gateway for the given policy.
64652
- * In case multiple nodes are selected, only the first one in the
64653
- * lexical ordering over the node names will be used.
64654
- * This field follows standard label selector semantics.
64398
+ * ServiceSelector selects a set of services which are eligible to receive IPs from this
64655
64399
  */
64656
- interface CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorPatch {
64400
+ interface CiliumLoadBalancerIPPoolSpecServiceSelectorPatch {
64657
64401
  /**
64658
64402
  * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64659
64403
  */
64660
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorMatchExpressionsPatch[];
64404
+ matchExpressions: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressionsPatch[];
64661
64405
  /**
64662
64406
  * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64663
64407
  * map is equivalent to an element of matchExpressions, whose key field is "key", the
@@ -64668,923 +64412,32 @@ export declare namespace cilium {
64668
64412
  };
64669
64413
  }
64670
64414
  /**
64671
- * EgressGateway is the gateway node responsible for SNATing traffic.
64672
- * In case multiple nodes are a match for the given set of labels, the first node
64673
- * in lexical ordering based on their name will be selected.
64415
+ * Status is the status of the IP Pool.
64416
+ *
64417
+ * It might be possible for users to define overlapping IP Pools, we can't validate or enforce non-overlapping pools
64418
+ * during object creation. The Cilium operator will do this validation and update the status to reflect the ability
64419
+ * to allocate IPs from this pool.
64674
64420
  */
64675
- interface CiliumEgressGatewayPolicySpecEgressGatewayPatch {
64676
- /**
64677
- * EgressIP is the source IP address that the egress traffic is SNATed
64678
- * with.
64679
- *
64680
- * Example:
64681
- * When set to "192.168.1.100", matching egress traffic will be
64682
- * redirected to the node matching the NodeSelector field and SNATed
64683
- * with IP address 192.168.1.100.
64684
- *
64685
- * When set to "2001:db8::1", matching egress traffic will be
64686
- * redirected to the node matching the NodeSelector field and SNATed
64687
- * with IPv6 address 2001:db8::1.
64688
- *
64689
- * When none of the Interface or EgressIP fields is specified, the
64690
- * policy will use the first IPv4 assigned to the interface with the
64691
- * default route.
64692
- */
64693
- egressIP: string;
64421
+ interface CiliumLoadBalancerIPPoolStatus {
64694
64422
  /**
64695
- * Interface is the network interface to which the egress IP address
64696
- * that the traffic is SNATed with is assigned.
64697
- *
64698
- * Example:
64699
- * When set to "eth1", matching egress traffic will be redirected to the
64700
- * node matching the NodeSelector field and SNATed with the first IPv4
64701
- * address assigned to the eth1 interface.
64702
- *
64703
- * When none of the Interface or EgressIP fields is specified, the
64704
- * policy will use the first IPv4 assigned to the interface with the
64705
- * default route.
64423
+ * Current service state
64706
64424
  */
64707
- interface: string;
64708
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewayNodeSelectorPatch;
64425
+ conditions: outputs.cilium.v2.CiliumLoadBalancerIPPoolStatusConditions[];
64709
64426
  }
64710
64427
  /**
64711
- * EgressGateway identifies the node that should act as egress gateway for a
64712
- * given egress Gateway policy. In addition to that it also specifies the
64713
- * configuration of said node (which egress IP or network interface should be
64714
- * used to SNAT traffic).
64428
+ * Condition contains details for one aspect of the current state of this API Resource.
64715
64429
  */
64716
- interface CiliumEgressGatewayPolicySpecEgressGateways {
64717
- /**
64718
- * EgressIP is the source IP address that the egress traffic is SNATed
64719
- * with.
64720
- *
64721
- * Example:
64722
- * When set to "192.168.1.100", matching egress traffic will be
64723
- * redirected to the node matching the NodeSelector field and SNATed
64724
- * with IP address 192.168.1.100.
64725
- *
64726
- * When set to "2001:db8::1", matching egress traffic will be
64727
- * redirected to the node matching the NodeSelector field and SNATed
64728
- * with IPv6 address 2001:db8::1.
64729
- *
64730
- * When none of the Interface or EgressIP fields is specified, the
64731
- * policy will use the first IPv4 assigned to the interface with the
64732
- * default route.
64733
- */
64734
- egressIP: string;
64430
+ interface CiliumLoadBalancerIPPoolStatusConditions {
64735
64431
  /**
64736
- * Interface is the network interface to which the egress IP address
64737
- * that the traffic is SNATed with is assigned.
64738
- *
64739
- * Example:
64740
- * When set to "eth1", matching egress traffic will be redirected to the
64741
- * node matching the NodeSelector field and SNATed with the first IPv4
64742
- * address assigned to the eth1 interface.
64743
- *
64744
- * When none of the Interface or EgressIP fields is specified, the
64745
- * policy will use the first IPv4 assigned to the interface with the
64746
- * default route.
64432
+ * lastTransitionTime is the last time the condition transitioned from one status to another.
64433
+ * This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
64747
64434
  */
64748
- interface: string;
64749
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelector;
64750
- }
64751
- /**
64752
- * This is a label selector which selects the node that should act as
64753
- * egress gateway for the given policy.
64754
- * In case multiple nodes are selected, only the first one in the
64755
- * lexical ordering over the node names will be used.
64756
- * This field follows standard label selector semantics.
64757
- */
64758
- interface CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelector {
64435
+ lastTransitionTime: string;
64759
64436
  /**
64760
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64437
+ * message is a human readable message indicating details about the transition.
64438
+ * This may be an empty string.
64761
64439
  */
64762
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorMatchExpressions[];
64763
- /**
64764
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64765
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
64766
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
64767
- */
64768
- matchLabels: {
64769
- [key: string]: string;
64770
- };
64771
- }
64772
- /**
64773
- * A label selector requirement is a selector that contains values, a key, and an operator that
64774
- * relates the key and values.
64775
- */
64776
- interface CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorMatchExpressions {
64777
- /**
64778
- * key is the label key that the selector applies to.
64779
- */
64780
- key: string;
64781
- /**
64782
- * operator represents a key's relationship to a set of values.
64783
- * Valid operators are In, NotIn, Exists and DoesNotExist.
64784
- */
64785
- operator: string;
64786
- /**
64787
- * values is an array of string values. If the operator is In or NotIn,
64788
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
64789
- * the values array must be empty. This array is replaced during a strategic
64790
- * merge patch.
64791
- */
64792
- values: string[];
64793
- }
64794
- /**
64795
- * A label selector requirement is a selector that contains values, a key, and an operator that
64796
- * relates the key and values.
64797
- */
64798
- interface CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorMatchExpressionsPatch {
64799
- /**
64800
- * key is the label key that the selector applies to.
64801
- */
64802
- key: string;
64803
- /**
64804
- * operator represents a key's relationship to a set of values.
64805
- * Valid operators are In, NotIn, Exists and DoesNotExist.
64806
- */
64807
- operator: string;
64808
- /**
64809
- * values is an array of string values. If the operator is In or NotIn,
64810
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
64811
- * the values array must be empty. This array is replaced during a strategic
64812
- * merge patch.
64813
- */
64814
- values: string[];
64815
- }
64816
- /**
64817
- * This is a label selector which selects the node that should act as
64818
- * egress gateway for the given policy.
64819
- * In case multiple nodes are selected, only the first one in the
64820
- * lexical ordering over the node names will be used.
64821
- * This field follows standard label selector semantics.
64822
- */
64823
- interface CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorPatch {
64824
- /**
64825
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64826
- */
64827
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorMatchExpressionsPatch[];
64828
- /**
64829
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64830
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
64831
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
64832
- */
64833
- matchLabels: {
64834
- [key: string]: string;
64835
- };
64836
- }
64837
- /**
64838
- * EgressGateway identifies the node that should act as egress gateway for a
64839
- * given egress Gateway policy. In addition to that it also specifies the
64840
- * configuration of said node (which egress IP or network interface should be
64841
- * used to SNAT traffic).
64842
- */
64843
- interface CiliumEgressGatewayPolicySpecEgressGatewaysPatch {
64844
- /**
64845
- * EgressIP is the source IP address that the egress traffic is SNATed
64846
- * with.
64847
- *
64848
- * Example:
64849
- * When set to "192.168.1.100", matching egress traffic will be
64850
- * redirected to the node matching the NodeSelector field and SNATed
64851
- * with IP address 192.168.1.100.
64852
- *
64853
- * When set to "2001:db8::1", matching egress traffic will be
64854
- * redirected to the node matching the NodeSelector field and SNATed
64855
- * with IPv6 address 2001:db8::1.
64856
- *
64857
- * When none of the Interface or EgressIP fields is specified, the
64858
- * policy will use the first IPv4 assigned to the interface with the
64859
- * default route.
64860
- */
64861
- egressIP: string;
64862
- /**
64863
- * Interface is the network interface to which the egress IP address
64864
- * that the traffic is SNATed with is assigned.
64865
- *
64866
- * Example:
64867
- * When set to "eth1", matching egress traffic will be redirected to the
64868
- * node matching the NodeSelector field and SNATed with the first IPv4
64869
- * address assigned to the eth1 interface.
64870
- *
64871
- * When none of the Interface or EgressIP fields is specified, the
64872
- * policy will use the first IPv4 assigned to the interface with the
64873
- * default route.
64874
- */
64875
- interface: string;
64876
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewaysNodeSelectorPatch;
64877
- }
64878
- interface CiliumEgressGatewayPolicySpecPatch {
64879
- /**
64880
- * DestinationCIDRs is a list of destination CIDRs for destination IP addresses.
64881
- * If a destination IP matches any one CIDR, it will be selected.
64882
- */
64883
- destinationCIDRs: string[];
64884
- egressGateway: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewayPatch;
64885
- /**
64886
- * Optional list of gateway nodes responsible for SNATing traffic.
64887
- * If this field has any entries the contents of the egressGateway field will be ignored.
64888
- * In case multiple nodes are a match for the given set of labels in each entry,
64889
- * the first node in lexical ordering based on their name will be selected for each entry.
64890
- */
64891
- egressGateways: outputs.cilium.v2.CiliumEgressGatewayPolicySpecEgressGatewaysPatch[];
64892
- /**
64893
- * ExcludedCIDRs is a list of destination CIDRs that will be excluded
64894
- * from the egress gateway redirection and SNAT logic.
64895
- * Should be a subset of destinationCIDRs otherwise it will not have any
64896
- * effect.
64897
- */
64898
- excludedCIDRs: string[];
64899
- /**
64900
- * Egress represents a list of rules by which egress traffic is
64901
- * filtered from the source pods.
64902
- */
64903
- selectors: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsPatch[];
64904
- }
64905
- interface CiliumEgressGatewayPolicySpecSelectors {
64906
- namespaceSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNamespaceSelector;
64907
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNodeSelector;
64908
- podSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsPodSelector;
64909
- }
64910
- /**
64911
- * Selects Namespaces using cluster-scoped labels. This field follows standard label
64912
- * selector semantics; if present but empty, it selects all namespaces.
64913
- */
64914
- interface CiliumEgressGatewayPolicySpecSelectorsNamespaceSelector {
64915
- /**
64916
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64917
- */
64918
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorMatchExpressions[];
64919
- /**
64920
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64921
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
64922
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
64923
- */
64924
- matchLabels: {
64925
- [key: string]: string;
64926
- };
64927
- }
64928
- /**
64929
- * A label selector requirement is a selector that contains values, a key, and an operator that
64930
- * relates the key and values.
64931
- */
64932
- interface CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorMatchExpressions {
64933
- /**
64934
- * key is the label key that the selector applies to.
64935
- */
64936
- key: string;
64937
- /**
64938
- * operator represents a key's relationship to a set of values.
64939
- * Valid operators are In, NotIn, Exists and DoesNotExist.
64940
- */
64941
- operator: string;
64942
- /**
64943
- * values is an array of string values. If the operator is In or NotIn,
64944
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
64945
- * the values array must be empty. This array is replaced during a strategic
64946
- * merge patch.
64947
- */
64948
- values: string[];
64949
- }
64950
- /**
64951
- * A label selector requirement is a selector that contains values, a key, and an operator that
64952
- * relates the key and values.
64953
- */
64954
- interface CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorMatchExpressionsPatch {
64955
- /**
64956
- * key is the label key that the selector applies to.
64957
- */
64958
- key: string;
64959
- /**
64960
- * operator represents a key's relationship to a set of values.
64961
- * Valid operators are In, NotIn, Exists and DoesNotExist.
64962
- */
64963
- operator: string;
64964
- /**
64965
- * values is an array of string values. If the operator is In or NotIn,
64966
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
64967
- * the values array must be empty. This array is replaced during a strategic
64968
- * merge patch.
64969
- */
64970
- values: string[];
64971
- }
64972
- /**
64973
- * Selects Namespaces using cluster-scoped labels. This field follows standard label
64974
- * selector semantics; if present but empty, it selects all namespaces.
64975
- */
64976
- interface CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorPatch {
64977
- /**
64978
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64979
- */
64980
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorMatchExpressionsPatch[];
64981
- /**
64982
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
64983
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
64984
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
64985
- */
64986
- matchLabels: {
64987
- [key: string]: string;
64988
- };
64989
- }
64990
- /**
64991
- * This is a label selector which selects Pods by Node. This field follows standard label
64992
- * selector semantics; if present but empty, it selects all nodes.
64993
- */
64994
- interface CiliumEgressGatewayPolicySpecSelectorsNodeSelector {
64995
- /**
64996
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
64997
- */
64998
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNodeSelectorMatchExpressions[];
64999
- /**
65000
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65001
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65002
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65003
- */
65004
- matchLabels: {
65005
- [key: string]: string;
65006
- };
65007
- }
65008
- /**
65009
- * A label selector requirement is a selector that contains values, a key, and an operator that
65010
- * relates the key and values.
65011
- */
65012
- interface CiliumEgressGatewayPolicySpecSelectorsNodeSelectorMatchExpressions {
65013
- /**
65014
- * key is the label key that the selector applies to.
65015
- */
65016
- key: string;
65017
- /**
65018
- * operator represents a key's relationship to a set of values.
65019
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65020
- */
65021
- operator: string;
65022
- /**
65023
- * values is an array of string values. If the operator is In or NotIn,
65024
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65025
- * the values array must be empty. This array is replaced during a strategic
65026
- * merge patch.
65027
- */
65028
- values: string[];
65029
- }
65030
- /**
65031
- * A label selector requirement is a selector that contains values, a key, and an operator that
65032
- * relates the key and values.
65033
- */
65034
- interface CiliumEgressGatewayPolicySpecSelectorsNodeSelectorMatchExpressionsPatch {
65035
- /**
65036
- * key is the label key that the selector applies to.
65037
- */
65038
- key: string;
65039
- /**
65040
- * operator represents a key's relationship to a set of values.
65041
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65042
- */
65043
- operator: string;
65044
- /**
65045
- * values is an array of string values. If the operator is In or NotIn,
65046
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65047
- * the values array must be empty. This array is replaced during a strategic
65048
- * merge patch.
65049
- */
65050
- values: string[];
65051
- }
65052
- /**
65053
- * This is a label selector which selects Pods by Node. This field follows standard label
65054
- * selector semantics; if present but empty, it selects all nodes.
65055
- */
65056
- interface CiliumEgressGatewayPolicySpecSelectorsNodeSelectorPatch {
65057
- /**
65058
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65059
- */
65060
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNodeSelectorMatchExpressionsPatch[];
65061
- /**
65062
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65063
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65064
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65065
- */
65066
- matchLabels: {
65067
- [key: string]: string;
65068
- };
65069
- }
65070
- interface CiliumEgressGatewayPolicySpecSelectorsPatch {
65071
- namespaceSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNamespaceSelectorPatch;
65072
- nodeSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsNodeSelectorPatch;
65073
- podSelector: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsPodSelectorPatch;
65074
- }
65075
- /**
65076
- * This is a label selector which selects Pods. This field follows standard label
65077
- * selector semantics; if present but empty, it selects all pods.
65078
- */
65079
- interface CiliumEgressGatewayPolicySpecSelectorsPodSelector {
65080
- /**
65081
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65082
- */
65083
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsPodSelectorMatchExpressions[];
65084
- /**
65085
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65086
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65087
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65088
- */
65089
- matchLabels: {
65090
- [key: string]: string;
65091
- };
65092
- }
65093
- /**
65094
- * A label selector requirement is a selector that contains values, a key, and an operator that
65095
- * relates the key and values.
65096
- */
65097
- interface CiliumEgressGatewayPolicySpecSelectorsPodSelectorMatchExpressions {
65098
- /**
65099
- * key is the label key that the selector applies to.
65100
- */
65101
- key: string;
65102
- /**
65103
- * operator represents a key's relationship to a set of values.
65104
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65105
- */
65106
- operator: string;
65107
- /**
65108
- * values is an array of string values. If the operator is In or NotIn,
65109
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65110
- * the values array must be empty. This array is replaced during a strategic
65111
- * merge patch.
65112
- */
65113
- values: string[];
65114
- }
65115
- /**
65116
- * A label selector requirement is a selector that contains values, a key, and an operator that
65117
- * relates the key and values.
65118
- */
65119
- interface CiliumEgressGatewayPolicySpecSelectorsPodSelectorMatchExpressionsPatch {
65120
- /**
65121
- * key is the label key that the selector applies to.
65122
- */
65123
- key: string;
65124
- /**
65125
- * operator represents a key's relationship to a set of values.
65126
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65127
- */
65128
- operator: string;
65129
- /**
65130
- * values is an array of string values. If the operator is In or NotIn,
65131
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65132
- * the values array must be empty. This array is replaced during a strategic
65133
- * merge patch.
65134
- */
65135
- values: string[];
65136
- }
65137
- /**
65138
- * This is a label selector which selects Pods. This field follows standard label
65139
- * selector semantics; if present but empty, it selects all pods.
65140
- */
65141
- interface CiliumEgressGatewayPolicySpecSelectorsPodSelectorPatch {
65142
- /**
65143
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65144
- */
65145
- matchExpressions: outputs.cilium.v2.CiliumEgressGatewayPolicySpecSelectorsPodSelectorMatchExpressionsPatch[];
65146
- /**
65147
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65148
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65149
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65150
- */
65151
- matchLabels: {
65152
- [key: string]: string;
65153
- };
65154
- }
65155
- interface CiliumEnvoyConfig {
65156
- /**
65157
- * 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
65158
- */
65159
- apiVersion: "cilium.io/v2";
65160
- /**
65161
- * 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
65162
- */
65163
- kind: "CiliumEnvoyConfig";
65164
- /**
65165
- * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
65166
- */
65167
- metadata: pulumiKubernetes.types.output.meta.v1.ObjectMeta;
65168
- spec: outputs.cilium.v2.CiliumEnvoyConfigSpec;
65169
- }
65170
- interface CiliumEnvoyConfigSpec {
65171
- /**
65172
- * BackendServices specifies Kubernetes services whose backends
65173
- * are automatically synced to Envoy using EDS. Traffic for these
65174
- * services is not forwarded to an Envoy listener. This allows an
65175
- * Envoy listener load balance traffic to these backends while
65176
- * normal Cilium service load balancing takes care of balancing
65177
- * traffic for these services at the same time.
65178
- */
65179
- backendServices: outputs.cilium.v2.CiliumEnvoyConfigSpecBackendServices[];
65180
- nodeSelector: outputs.cilium.v2.CiliumEnvoyConfigSpecNodeSelector;
65181
- /**
65182
- * Envoy xDS resources, a list of the following Envoy resource types:
65183
- * type.googleapis.com/envoy.config.listener.v3.Listener,
65184
- * type.googleapis.com/envoy.config.route.v3.RouteConfiguration,
65185
- * type.googleapis.com/envoy.config.cluster.v3.Cluster,
65186
- * type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and
65187
- * type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.
65188
- */
65189
- resources: {
65190
- [key: string]: any;
65191
- }[];
65192
- /**
65193
- * Services specifies Kubernetes services for which traffic is
65194
- * forwarded to an Envoy listener for L7 load balancing. Backends
65195
- * of these services are automatically synced to Envoy usign EDS.
65196
- */
65197
- services: outputs.cilium.v2.CiliumEnvoyConfigSpecServices[];
65198
- }
65199
- interface CiliumEnvoyConfigSpecBackendServices {
65200
- /**
65201
- * Name is the name of a destination Kubernetes service that identifies traffic
65202
- * to be redirected.
65203
- */
65204
- name: string;
65205
- /**
65206
- * Namespace is the Kubernetes service namespace.
65207
- * In CiliumEnvoyConfig namespace defaults to the namespace of the CEC,
65208
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
65209
- */
65210
- namespace: string;
65211
- /**
65212
- * Ports is a set of port numbers, which can be used for filtering in case of underlying
65213
- * is exposing multiple port numbers.
65214
- */
65215
- number: string[];
65216
- }
65217
- interface CiliumEnvoyConfigSpecBackendServicesPatch {
65218
- /**
65219
- * Name is the name of a destination Kubernetes service that identifies traffic
65220
- * to be redirected.
65221
- */
65222
- name: string;
65223
- /**
65224
- * Namespace is the Kubernetes service namespace.
65225
- * In CiliumEnvoyConfig namespace defaults to the namespace of the CEC,
65226
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
65227
- */
65228
- namespace: string;
65229
- /**
65230
- * Ports is a set of port numbers, which can be used for filtering in case of underlying
65231
- * is exposing multiple port numbers.
65232
- */
65233
- number: string[];
65234
- }
65235
- /**
65236
- * NodeSelector is a label selector that determines to which nodes
65237
- * this configuration applies.
65238
- * If nil, then this config applies to all nodes.
65239
- */
65240
- interface CiliumEnvoyConfigSpecNodeSelector {
65241
- /**
65242
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65243
- */
65244
- matchExpressions: outputs.cilium.v2.CiliumEnvoyConfigSpecNodeSelectorMatchExpressions[];
65245
- /**
65246
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65247
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65248
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65249
- */
65250
- matchLabels: {
65251
- [key: string]: string;
65252
- };
65253
- }
65254
- /**
65255
- * A label selector requirement is a selector that contains values, a key, and an operator that
65256
- * relates the key and values.
65257
- */
65258
- interface CiliumEnvoyConfigSpecNodeSelectorMatchExpressions {
65259
- /**
65260
- * key is the label key that the selector applies to.
65261
- */
65262
- key: string;
65263
- /**
65264
- * operator represents a key's relationship to a set of values.
65265
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65266
- */
65267
- operator: string;
65268
- /**
65269
- * values is an array of string values. If the operator is In or NotIn,
65270
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65271
- * the values array must be empty. This array is replaced during a strategic
65272
- * merge patch.
65273
- */
65274
- values: string[];
65275
- }
65276
- /**
65277
- * A label selector requirement is a selector that contains values, a key, and an operator that
65278
- * relates the key and values.
65279
- */
65280
- interface CiliumEnvoyConfigSpecNodeSelectorMatchExpressionsPatch {
65281
- /**
65282
- * key is the label key that the selector applies to.
65283
- */
65284
- key: string;
65285
- /**
65286
- * operator represents a key's relationship to a set of values.
65287
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65288
- */
65289
- operator: string;
65290
- /**
65291
- * values is an array of string values. If the operator is In or NotIn,
65292
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65293
- * the values array must be empty. This array is replaced during a strategic
65294
- * merge patch.
65295
- */
65296
- values: string[];
65297
- }
65298
- /**
65299
- * NodeSelector is a label selector that determines to which nodes
65300
- * this configuration applies.
65301
- * If nil, then this config applies to all nodes.
65302
- */
65303
- interface CiliumEnvoyConfigSpecNodeSelectorPatch {
65304
- /**
65305
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65306
- */
65307
- matchExpressions: outputs.cilium.v2.CiliumEnvoyConfigSpecNodeSelectorMatchExpressionsPatch[];
65308
- /**
65309
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65310
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65311
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65312
- */
65313
- matchLabels: {
65314
- [key: string]: string;
65315
- };
65316
- }
65317
- interface CiliumEnvoyConfigSpecPatch {
65318
- /**
65319
- * BackendServices specifies Kubernetes services whose backends
65320
- * are automatically synced to Envoy using EDS. Traffic for these
65321
- * services is not forwarded to an Envoy listener. This allows an
65322
- * Envoy listener load balance traffic to these backends while
65323
- * normal Cilium service load balancing takes care of balancing
65324
- * traffic for these services at the same time.
65325
- */
65326
- backendServices: outputs.cilium.v2.CiliumEnvoyConfigSpecBackendServicesPatch[];
65327
- nodeSelector: outputs.cilium.v2.CiliumEnvoyConfigSpecNodeSelectorPatch;
65328
- /**
65329
- * Envoy xDS resources, a list of the following Envoy resource types:
65330
- * type.googleapis.com/envoy.config.listener.v3.Listener,
65331
- * type.googleapis.com/envoy.config.route.v3.RouteConfiguration,
65332
- * type.googleapis.com/envoy.config.cluster.v3.Cluster,
65333
- * type.googleapis.com/envoy.config.endpoint.v3.ClusterLoadAssignment, and
65334
- * type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.Secret.
65335
- */
65336
- resources: {
65337
- [key: string]: any;
65338
- }[];
65339
- /**
65340
- * Services specifies Kubernetes services for which traffic is
65341
- * forwarded to an Envoy listener for L7 load balancing. Backends
65342
- * of these services are automatically synced to Envoy usign EDS.
65343
- */
65344
- services: outputs.cilium.v2.CiliumEnvoyConfigSpecServicesPatch[];
65345
- }
65346
- interface CiliumEnvoyConfigSpecServices {
65347
- /**
65348
- * Listener specifies the name of the Envoy listener the
65349
- * service traffic is redirected to. The listener must be
65350
- * specified in the Envoy 'resources' of the same
65351
- * CiliumEnvoyConfig.
65352
- *
65353
- * If omitted, the first listener specified in 'resources' is
65354
- * used.
65355
- */
65356
- listener: string;
65357
- /**
65358
- * Name is the name of a destination Kubernetes service that identifies traffic
65359
- * to be redirected.
65360
- */
65361
- name: string;
65362
- /**
65363
- * Namespace is the Kubernetes service namespace.
65364
- * In CiliumEnvoyConfig namespace this is overridden to the namespace of the CEC,
65365
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
65366
- */
65367
- namespace: string;
65368
- /**
65369
- * Ports is a set of service's frontend ports that should be redirected to the Envoy
65370
- * listener. By default all frontend ports of the service are redirected.
65371
- */
65372
- ports: number[];
65373
- }
65374
- interface CiliumEnvoyConfigSpecServicesPatch {
65375
- /**
65376
- * Listener specifies the name of the Envoy listener the
65377
- * service traffic is redirected to. The listener must be
65378
- * specified in the Envoy 'resources' of the same
65379
- * CiliumEnvoyConfig.
65380
- *
65381
- * If omitted, the first listener specified in 'resources' is
65382
- * used.
65383
- */
65384
- listener: string;
65385
- /**
65386
- * Name is the name of a destination Kubernetes service that identifies traffic
65387
- * to be redirected.
65388
- */
65389
- name: string;
65390
- /**
65391
- * Namespace is the Kubernetes service namespace.
65392
- * In CiliumEnvoyConfig namespace this is overridden to the namespace of the CEC,
65393
- * In CiliumClusterwideEnvoyConfig namespace defaults to "default".
65394
- */
65395
- namespace: string;
65396
- /**
65397
- * Ports is a set of service's frontend ports that should be redirected to the Envoy
65398
- * listener. By default all frontend ports of the service are redirected.
65399
- */
65400
- ports: number[];
65401
- }
65402
- /**
65403
- * CiliumLoadBalancerIPPool is a Kubernetes third-party resource which
65404
- * is used to defined pools of IPs which the operator can use to allocate
65405
- * and advertise IPs for Services of type LoadBalancer.
65406
- */
65407
- interface CiliumLoadBalancerIPPool {
65408
- /**
65409
- * 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
65410
- */
65411
- apiVersion: "cilium.io/v2";
65412
- /**
65413
- * 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
65414
- */
65415
- kind: "CiliumLoadBalancerIPPool";
65416
- /**
65417
- * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
65418
- */
65419
- metadata: pulumiKubernetes.types.output.meta.v1.ObjectMeta;
65420
- spec: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpec;
65421
- status: outputs.cilium.v2.CiliumLoadBalancerIPPoolStatus;
65422
- }
65423
- /**
65424
- * Spec is a human readable description for a BGP load balancer
65425
- * ip pool.
65426
- */
65427
- interface CiliumLoadBalancerIPPoolSpec {
65428
- /**
65429
- * AllowFirstLastIPs, if set to `Yes` or undefined means that the first and last IPs of each CIDR will be allocatable.
65430
- * If `No`, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since
65431
- * reserving the first and last IPs would make the CIDRs unusable.
65432
- */
65433
- allowFirstLastIPs: string;
65434
- /**
65435
- * Blocks is a list of CIDRs comprising this IP Pool
65436
- */
65437
- blocks: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecBlocks[];
65438
- /**
65439
- * Disabled, if set to true means that no new IPs will be allocated from this pool.
65440
- * Existing allocations will not be removed from services.
65441
- */
65442
- disabled: boolean;
65443
- serviceSelector: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelector;
65444
- }
65445
- /**
65446
- * CiliumLoadBalancerIPPoolIPBlock describes a single IP block.
65447
- */
65448
- interface CiliumLoadBalancerIPPoolSpecBlocks {
65449
- cidr: string;
65450
- start: string;
65451
- stop: string;
65452
- }
65453
- /**
65454
- * CiliumLoadBalancerIPPoolIPBlock describes a single IP block.
65455
- */
65456
- interface CiliumLoadBalancerIPPoolSpecBlocksPatch {
65457
- cidr: string;
65458
- start: string;
65459
- stop: string;
65460
- }
65461
- /**
65462
- * Spec is a human readable description for a BGP load balancer
65463
- * ip pool.
65464
- */
65465
- interface CiliumLoadBalancerIPPoolSpecPatch {
65466
- /**
65467
- * AllowFirstLastIPs, if set to `Yes` or undefined means that the first and last IPs of each CIDR will be allocatable.
65468
- * If `No`, these IPs will be reserved. This field is ignored for /{31,32} and /{127,128} CIDRs since
65469
- * reserving the first and last IPs would make the CIDRs unusable.
65470
- */
65471
- allowFirstLastIPs: string;
65472
- /**
65473
- * Blocks is a list of CIDRs comprising this IP Pool
65474
- */
65475
- blocks: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecBlocksPatch[];
65476
- /**
65477
- * Disabled, if set to true means that no new IPs will be allocated from this pool.
65478
- * Existing allocations will not be removed from services.
65479
- */
65480
- disabled: boolean;
65481
- serviceSelector: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorPatch;
65482
- }
65483
- /**
65484
- * ServiceSelector selects a set of services which are eligible to receive IPs from this
65485
- */
65486
- interface CiliumLoadBalancerIPPoolSpecServiceSelector {
65487
- /**
65488
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65489
- */
65490
- matchExpressions: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressions[];
65491
- /**
65492
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65493
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65494
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65495
- */
65496
- matchLabels: {
65497
- [key: string]: string;
65498
- };
65499
- }
65500
- /**
65501
- * A label selector requirement is a selector that contains values, a key, and an operator that
65502
- * relates the key and values.
65503
- */
65504
- interface CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressions {
65505
- /**
65506
- * key is the label key that the selector applies to.
65507
- */
65508
- key: string;
65509
- /**
65510
- * operator represents a key's relationship to a set of values.
65511
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65512
- */
65513
- operator: string;
65514
- /**
65515
- * values is an array of string values. If the operator is In or NotIn,
65516
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65517
- * the values array must be empty. This array is replaced during a strategic
65518
- * merge patch.
65519
- */
65520
- values: string[];
65521
- }
65522
- /**
65523
- * A label selector requirement is a selector that contains values, a key, and an operator that
65524
- * relates the key and values.
65525
- */
65526
- interface CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressionsPatch {
65527
- /**
65528
- * key is the label key that the selector applies to.
65529
- */
65530
- key: string;
65531
- /**
65532
- * operator represents a key's relationship to a set of values.
65533
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65534
- */
65535
- operator: string;
65536
- /**
65537
- * values is an array of string values. If the operator is In or NotIn,
65538
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65539
- * the values array must be empty. This array is replaced during a strategic
65540
- * merge patch.
65541
- */
65542
- values: string[];
65543
- }
65544
- /**
65545
- * ServiceSelector selects a set of services which are eligible to receive IPs from this
65546
- */
65547
- interface CiliumLoadBalancerIPPoolSpecServiceSelectorPatch {
65548
- /**
65549
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65550
- */
65551
- matchExpressions: outputs.cilium.v2.CiliumLoadBalancerIPPoolSpecServiceSelectorMatchExpressionsPatch[];
65552
- /**
65553
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65554
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65555
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65556
- */
65557
- matchLabels: {
65558
- [key: string]: string;
65559
- };
65560
- }
65561
- /**
65562
- * Status is the status of the IP Pool.
65563
- *
65564
- * It might be possible for users to define overlapping IP Pools, we can't validate or enforce non-overlapping pools
65565
- * during object creation. The Cilium operator will do this validation and update the status to reflect the ability
65566
- * to allocate IPs from this pool.
65567
- */
65568
- interface CiliumLoadBalancerIPPoolStatus {
65569
- /**
65570
- * Current service state
65571
- */
65572
- conditions: outputs.cilium.v2.CiliumLoadBalancerIPPoolStatusConditions[];
65573
- }
65574
- /**
65575
- * Condition contains details for one aspect of the current state of this API Resource.
65576
- */
65577
- interface CiliumLoadBalancerIPPoolStatusConditions {
65578
- /**
65579
- * lastTransitionTime is the last time the condition transitioned from one status to another.
65580
- * This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
65581
- */
65582
- lastTransitionTime: string;
65583
- /**
65584
- * message is a human readable message indicating details about the transition.
65585
- * This may be an empty string.
65586
- */
65587
- message: string;
64440
+ message: string;
65588
64441
  /**
65589
64442
  * observedGeneration represents the .metadata.generation that the condition was set based upon.
65590
64443
  * For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
@@ -65658,446 +64511,6 @@ export declare namespace cilium {
65658
64511
  */
65659
64512
  conditions: outputs.cilium.v2.CiliumLoadBalancerIPPoolStatusConditionsPatch[];
65660
64513
  }
65661
- /**
65662
- * CiliumLocalRedirectPolicy is a Kubernetes Custom Resource that contains a
65663
- * specification to redirect traffic locally within a node.
65664
- */
65665
- interface CiliumLocalRedirectPolicy {
65666
- /**
65667
- * 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
65668
- */
65669
- apiVersion: "cilium.io/v2";
65670
- /**
65671
- * 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
65672
- */
65673
- kind: "CiliumLocalRedirectPolicy";
65674
- /**
65675
- * Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
65676
- */
65677
- metadata: pulumiKubernetes.types.output.meta.v1.ObjectMeta;
65678
- spec: outputs.cilium.v2.CiliumLocalRedirectPolicySpec;
65679
- status: outputs.cilium.v2.CiliumLocalRedirectPolicyStatus;
65680
- }
65681
- /**
65682
- * Spec is the desired behavior of the local redirect policy.
65683
- */
65684
- interface CiliumLocalRedirectPolicySpec {
65685
- /**
65686
- * Description can be used by the creator of the policy to describe the
65687
- * purpose of this policy.
65688
- */
65689
- description: string;
65690
- redirectBackend: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackend;
65691
- redirectFrontend: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontend;
65692
- /**
65693
- * SkipRedirectFromBackend indicates whether traffic matching RedirectFrontend
65694
- * from RedirectBackend should skip redirection, and hence the traffic will
65695
- * be forwarded as-is.
65696
- *
65697
- * The default is false which means traffic matching RedirectFrontend will
65698
- * get redirected from all pods, including the RedirectBackend(s).
65699
- *
65700
- * Example: If RedirectFrontend is configured to "169.254.169.254:80" as the traffic
65701
- * that needs to be redirected to backends selected by RedirectBackend, if
65702
- * SkipRedirectFromBackend is set to true, traffic going to "169.254.169.254:80"
65703
- * from such backends will not be redirected back to the backends. Instead,
65704
- * the matched traffic from the backends will be forwarded to the original
65705
- * destination "169.254.169.254:80".
65706
- */
65707
- skipRedirectFromBackend: boolean;
65708
- }
65709
- /**
65710
- * Spec is the desired behavior of the local redirect policy.
65711
- */
65712
- interface CiliumLocalRedirectPolicySpecPatch {
65713
- /**
65714
- * Description can be used by the creator of the policy to describe the
65715
- * purpose of this policy.
65716
- */
65717
- description: string;
65718
- redirectBackend: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendPatch;
65719
- redirectFrontend: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendPatch;
65720
- /**
65721
- * SkipRedirectFromBackend indicates whether traffic matching RedirectFrontend
65722
- * from RedirectBackend should skip redirection, and hence the traffic will
65723
- * be forwarded as-is.
65724
- *
65725
- * The default is false which means traffic matching RedirectFrontend will
65726
- * get redirected from all pods, including the RedirectBackend(s).
65727
- *
65728
- * Example: If RedirectFrontend is configured to "169.254.169.254:80" as the traffic
65729
- * that needs to be redirected to backends selected by RedirectBackend, if
65730
- * SkipRedirectFromBackend is set to true, traffic going to "169.254.169.254:80"
65731
- * from such backends will not be redirected back to the backends. Instead,
65732
- * the matched traffic from the backends will be forwarded to the original
65733
- * destination "169.254.169.254:80".
65734
- */
65735
- skipRedirectFromBackend: boolean;
65736
- }
65737
- /**
65738
- * RedirectBackend specifies backend configuration to redirect traffic to.
65739
- * It can not be empty.
65740
- */
65741
- interface CiliumLocalRedirectPolicySpecRedirectBackend {
65742
- localEndpointSelector: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelector;
65743
- /**
65744
- * ToPorts is a list of L4 ports with protocol of node local pod(s) where traffic
65745
- * is redirected to.
65746
- * When multiple ports are specified, the ports must be named.
65747
- */
65748
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendToPorts[];
65749
- }
65750
- /**
65751
- * LocalEndpointSelector selects node local pod(s) where traffic is redirected to.
65752
- */
65753
- interface CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelector {
65754
- /**
65755
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65756
- */
65757
- matchExpressions: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorMatchExpressions[];
65758
- /**
65759
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65760
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65761
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65762
- */
65763
- matchLabels: {
65764
- [key: string]: string;
65765
- };
65766
- }
65767
- /**
65768
- * A label selector requirement is a selector that contains values, a key, and an operator that
65769
- * relates the key and values.
65770
- */
65771
- interface CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorMatchExpressions {
65772
- /**
65773
- * key is the label key that the selector applies to.
65774
- */
65775
- key: string;
65776
- /**
65777
- * operator represents a key's relationship to a set of values.
65778
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65779
- */
65780
- operator: string;
65781
- /**
65782
- * values is an array of string values. If the operator is In or NotIn,
65783
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65784
- * the values array must be empty. This array is replaced during a strategic
65785
- * merge patch.
65786
- */
65787
- values: string[];
65788
- }
65789
- /**
65790
- * A label selector requirement is a selector that contains values, a key, and an operator that
65791
- * relates the key and values.
65792
- */
65793
- interface CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorMatchExpressionsPatch {
65794
- /**
65795
- * key is the label key that the selector applies to.
65796
- */
65797
- key: string;
65798
- /**
65799
- * operator represents a key's relationship to a set of values.
65800
- * Valid operators are In, NotIn, Exists and DoesNotExist.
65801
- */
65802
- operator: string;
65803
- /**
65804
- * values is an array of string values. If the operator is In or NotIn,
65805
- * the values array must be non-empty. If the operator is Exists or DoesNotExist,
65806
- * the values array must be empty. This array is replaced during a strategic
65807
- * merge patch.
65808
- */
65809
- values: string[];
65810
- }
65811
- /**
65812
- * LocalEndpointSelector selects node local pod(s) where traffic is redirected to.
65813
- */
65814
- interface CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorPatch {
65815
- /**
65816
- * matchExpressions is a list of label selector requirements. The requirements are ANDed.
65817
- */
65818
- matchExpressions: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorMatchExpressionsPatch[];
65819
- /**
65820
- * matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
65821
- * map is equivalent to an element of matchExpressions, whose key field is "key", the
65822
- * operator is "In", and the values array contains only "value". The requirements are ANDed.
65823
- */
65824
- matchLabels: {
65825
- [key: string]: string;
65826
- };
65827
- }
65828
- /**
65829
- * RedirectBackend specifies backend configuration to redirect traffic to.
65830
- * It can not be empty.
65831
- */
65832
- interface CiliumLocalRedirectPolicySpecRedirectBackendPatch {
65833
- localEndpointSelector: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendLocalEndpointSelectorPatch;
65834
- /**
65835
- * ToPorts is a list of L4 ports with protocol of node local pod(s) where traffic
65836
- * is redirected to.
65837
- * When multiple ports are specified, the ports must be named.
65838
- */
65839
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectBackendToPortsPatch[];
65840
- }
65841
- /**
65842
- * PortInfo specifies L4 port number and name along with the transport protocol
65843
- */
65844
- interface CiliumLocalRedirectPolicySpecRedirectBackendToPorts {
65845
- /**
65846
- * Name is a port name, which must contain at least one [a-z],
65847
- * and may also contain [0-9] and '-' anywhere except adjacent to another
65848
- * '-' or in the beginning or the end.
65849
- */
65850
- name: string;
65851
- /**
65852
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
65853
- */
65854
- port: string;
65855
- /**
65856
- * Protocol is the L4 protocol.
65857
- * Accepted values: "TCP", "UDP"
65858
- */
65859
- protocol: string;
65860
- }
65861
- /**
65862
- * PortInfo specifies L4 port number and name along with the transport protocol
65863
- */
65864
- interface CiliumLocalRedirectPolicySpecRedirectBackendToPortsPatch {
65865
- /**
65866
- * Name is a port name, which must contain at least one [a-z],
65867
- * and may also contain [0-9] and '-' anywhere except adjacent to another
65868
- * '-' or in the beginning or the end.
65869
- */
65870
- name: string;
65871
- /**
65872
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
65873
- */
65874
- port: string;
65875
- /**
65876
- * Protocol is the L4 protocol.
65877
- * Accepted values: "TCP", "UDP"
65878
- */
65879
- protocol: string;
65880
- }
65881
- /**
65882
- * RedirectFrontend specifies frontend configuration to redirect traffic from.
65883
- * It can not be empty.
65884
- */
65885
- interface CiliumLocalRedirectPolicySpecRedirectFrontend {
65886
- addressMatcher: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcher;
65887
- serviceMatcher: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcher;
65888
- }
65889
- /**
65890
- * AddressMatcher is a tuple {IP, port, protocol} that matches traffic to be
65891
- * redirected.
65892
- */
65893
- interface CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcher {
65894
- /**
65895
- * IP is a destination ip address for traffic to be redirected.
65896
- *
65897
- * Example:
65898
- * When it is set to "169.254.169.254", traffic destined to
65899
- * "169.254.169.254" is redirected.
65900
- */
65901
- ip: string;
65902
- /**
65903
- * ToPorts is a list of destination L4 ports with protocol for traffic
65904
- * to be redirected.
65905
- * When multiple ports are specified, the ports must be named.
65906
- *
65907
- * Example:
65908
- * When set to Port: "53" and Protocol: UDP, traffic destined to port '53'
65909
- * with UDP protocol is redirected.
65910
- */
65911
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherToPorts[];
65912
- }
65913
- /**
65914
- * AddressMatcher is a tuple {IP, port, protocol} that matches traffic to be
65915
- * redirected.
65916
- */
65917
- interface CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherPatch {
65918
- /**
65919
- * IP is a destination ip address for traffic to be redirected.
65920
- *
65921
- * Example:
65922
- * When it is set to "169.254.169.254", traffic destined to
65923
- * "169.254.169.254" is redirected.
65924
- */
65925
- ip: string;
65926
- /**
65927
- * ToPorts is a list of destination L4 ports with protocol for traffic
65928
- * to be redirected.
65929
- * When multiple ports are specified, the ports must be named.
65930
- *
65931
- * Example:
65932
- * When set to Port: "53" and Protocol: UDP, traffic destined to port '53'
65933
- * with UDP protocol is redirected.
65934
- */
65935
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherToPortsPatch[];
65936
- }
65937
- /**
65938
- * PortInfo specifies L4 port number and name along with the transport protocol
65939
- */
65940
- interface CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherToPorts {
65941
- /**
65942
- * Name is a port name, which must contain at least one [a-z],
65943
- * and may also contain [0-9] and '-' anywhere except adjacent to another
65944
- * '-' or in the beginning or the end.
65945
- */
65946
- name: string;
65947
- /**
65948
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
65949
- */
65950
- port: string;
65951
- /**
65952
- * Protocol is the L4 protocol.
65953
- * Accepted values: "TCP", "UDP"
65954
- */
65955
- protocol: string;
65956
- }
65957
- /**
65958
- * PortInfo specifies L4 port number and name along with the transport protocol
65959
- */
65960
- interface CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherToPortsPatch {
65961
- /**
65962
- * Name is a port name, which must contain at least one [a-z],
65963
- * and may also contain [0-9] and '-' anywhere except adjacent to another
65964
- * '-' or in the beginning or the end.
65965
- */
65966
- name: string;
65967
- /**
65968
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
65969
- */
65970
- port: string;
65971
- /**
65972
- * Protocol is the L4 protocol.
65973
- * Accepted values: "TCP", "UDP"
65974
- */
65975
- protocol: string;
65976
- }
65977
- /**
65978
- * RedirectFrontend specifies frontend configuration to redirect traffic from.
65979
- * It can not be empty.
65980
- */
65981
- interface CiliumLocalRedirectPolicySpecRedirectFrontendPatch {
65982
- addressMatcher: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendAddressMatcherPatch;
65983
- serviceMatcher: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherPatch;
65984
- }
65985
- /**
65986
- * ServiceMatcher specifies Kubernetes service and port that matches
65987
- * traffic to be redirected.
65988
- */
65989
- interface CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcher {
65990
- /**
65991
- * Namespace is the Kubernetes service namespace.
65992
- * The service namespace must match the namespace of the parent Local
65993
- * Redirect Policy. For Cluster-wide Local Redirect Policy, this
65994
- * can be any namespace.
65995
- */
65996
- namespace: string;
65997
- /**
65998
- * Name is the name of a destination Kubernetes service that identifies traffic
65999
- * to be redirected.
66000
- * The service type needs to be ClusterIP.
66001
- *
66002
- * Example:
66003
- * When this field is populated with 'serviceName:myService', all the traffic
66004
- * destined to the cluster IP of this service at the (specified)
66005
- * service port(s) will be redirected.
66006
- */
66007
- serviceName: string;
66008
- /**
66009
- * ToPorts is a list of destination service L4 ports with protocol for
66010
- * traffic to be redirected. If not specified, traffic for all the service
66011
- * ports will be redirected.
66012
- * When multiple ports are specified, the ports must be named.
66013
- */
66014
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherToPorts[];
66015
- }
66016
- /**
66017
- * ServiceMatcher specifies Kubernetes service and port that matches
66018
- * traffic to be redirected.
66019
- */
66020
- interface CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherPatch {
66021
- /**
66022
- * Namespace is the Kubernetes service namespace.
66023
- * The service namespace must match the namespace of the parent Local
66024
- * Redirect Policy. For Cluster-wide Local Redirect Policy, this
66025
- * can be any namespace.
66026
- */
66027
- namespace: string;
66028
- /**
66029
- * Name is the name of a destination Kubernetes service that identifies traffic
66030
- * to be redirected.
66031
- * The service type needs to be ClusterIP.
66032
- *
66033
- * Example:
66034
- * When this field is populated with 'serviceName:myService', all the traffic
66035
- * destined to the cluster IP of this service at the (specified)
66036
- * service port(s) will be redirected.
66037
- */
66038
- serviceName: string;
66039
- /**
66040
- * ToPorts is a list of destination service L4 ports with protocol for
66041
- * traffic to be redirected. If not specified, traffic for all the service
66042
- * ports will be redirected.
66043
- * When multiple ports are specified, the ports must be named.
66044
- */
66045
- toPorts: outputs.cilium.v2.CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherToPortsPatch[];
66046
- }
66047
- /**
66048
- * PortInfo specifies L4 port number and name along with the transport protocol
66049
- */
66050
- interface CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherToPorts {
66051
- /**
66052
- * Name is a port name, which must contain at least one [a-z],
66053
- * and may also contain [0-9] and '-' anywhere except adjacent to another
66054
- * '-' or in the beginning or the end.
66055
- */
66056
- name: string;
66057
- /**
66058
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
66059
- */
66060
- port: string;
66061
- /**
66062
- * Protocol is the L4 protocol.
66063
- * Accepted values: "TCP", "UDP"
66064
- */
66065
- protocol: string;
66066
- }
66067
- /**
66068
- * PortInfo specifies L4 port number and name along with the transport protocol
66069
- */
66070
- interface CiliumLocalRedirectPolicySpecRedirectFrontendServiceMatcherToPortsPatch {
66071
- /**
66072
- * Name is a port name, which must contain at least one [a-z],
66073
- * and may also contain [0-9] and '-' anywhere except adjacent to another
66074
- * '-' or in the beginning or the end.
66075
- */
66076
- name: string;
66077
- /**
66078
- * Port is an L4 port number. The string will be strictly parsed as a single uint16.
66079
- */
66080
- port: string;
66081
- /**
66082
- * Protocol is the L4 protocol.
66083
- * Accepted values: "TCP", "UDP"
66084
- */
66085
- protocol: string;
66086
- }
66087
- /**
66088
- * Status is the most recent status of the local redirect policy.
66089
- * It is a read-only field.
66090
- */
66091
- interface CiliumLocalRedirectPolicyStatus {
66092
- ok: boolean;
66093
- }
66094
- /**
66095
- * Status is the most recent status of the local redirect policy.
66096
- * It is a read-only field.
66097
- */
66098
- interface CiliumLocalRedirectPolicyStatusPatch {
66099
- ok: boolean;
66100
- }
66101
64514
  /**
66102
64515
  * CiliumNetworkPolicy is a Kubernetes third-party resource with an extended
66103
64516
  * version of NetworkPolicy.