Update CRDs and bump version

This commit is contained in:
github-actions[bot]
2025-11-24 08:22:20 +00:00
parent 7a0d3e81aa
commit 8a5309e4e2
90 changed files with 38138 additions and 74237 deletions

View File

@@ -1 +1 @@
2eebf9968d1e434ea85182c1a229254ca0aefa30b6f433dd2ccfeca4751159ae
e522ddaad885daad3a5b9684988dacc4af9df36c76fe7fa057c7d4dfd078450e

100
CHANGELOG.md Normal file
View File

@@ -0,0 +1,100 @@
# CHANGELOG
## 1.6.0 (2025-10-17)
- Configurable package namespaces/prefixes. (https://github.com/pulumi/crd2pulumi/pull/247)
## 1.5.4 (2024-11-13)
- NodeJS now uses correct input/output types for object metadata. (https://github.com/pulumi/crd2pulumi/issues/158)
## 1.5.3 (2024-09-30)
- Fix crd2pulumi not generating all CRD versions. [#152](https://github.com/pulumi/crd2pulumi/issues/152)
- Fix crd2pulumi generating packages and types with incorrect group names. [#152](https://github.com/pulumi/crd2pulumi/issues/152)
## 1.5.2 (2024-09-16)
- Set the pulumi-kubernetes dependency for Python packages to v4.18.0. [#148](https://github.com/pulumi/crd2pulumi/issues/148)
- Fixed generating Go types for StringMapArrayMap types. [#147](https://github.com/pulumi/crd2pulumi/issues/147)
## 1.5.1 (2024-09-13)
- Fixed Patch varaints not generated for types that end in List. [#146](https://github.com/pulumi/crd2pulumi/pull/146)
## 1.5.0 (2024-09-13)
### Added
- Patch variant resources are now generated for all custom resources. Patch resources allow you to modify and an existing custom resource. For more details on using Patch resources, see our [documentation](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/#patch-a-resource).
### Changed
- The Pulumi schema generation now utilizes the library from the Pulumi Kubernetes provider, replacing the previous custom implementation. This resolves a number of correctness issues when generating code. [#143](https://github.com/pulumi/crd2pulumi/pull/143)
- Golang package generation now correctly adheres to the `--goPath` CLI flag, aligning with the behavior of other languages. [#89](https://github.com/pulumi/crd2pulumi/issues/89)
- CRDs with oneOf fields are now correctly typed and not generic. [#97](https://github.com/pulumi/crd2pulumi/issues/97)
### Fixed
- Various code generation correctness issues have been addressed, including:
- Python packages can now be successfully imported and consumed by Pulumi Python programs. [#113](https://github.com/pulumi/crd2pulumi/issues/113)
- Golang packages no longer produce compilation errors due to duplicate declarations. [#104](https://github.com/pulumi/crd2pulumi/issues/104)
- NodeJS package names are now properly generated. [#70](https://github.com/pulumi/crd2pulumi/issues/70)
- Dotnet packages now include the correct imports. [#49](https://github.com/pulumi/crd2pulumi/issues/49)
- NodeJS object metadata types no longer accept undefined values. [#34](https://github.com/pulumi/crd2pulumi/issues/34)
## 1.4.0 (2024-05-29)
- Fix unpinned Kubernetes version in generated nodejs resources. [#121](https://github.com/pulumi/crd2pulumi/pull/121)
- Fix .NET generated code to use provider v4. [#134](https://github.com/pulumi/crd2pulumi/pull/134)
- Fix invalid generated code due to unnamed properties. [#135](https://github.com/pulumi/crd2pulumi/pull/135)
- Fix a panic when generating code with non-primitive defaults. [#136](https://github.com/pulumi/crd2pulumi/pull/136)
- Add Java generation support. [#129](https://github.com/pulumi/crd2pulumi/pull/129)
## 1.3.0 (2023-12-12)
- Fix: excluding files from unneededGoFiles was not working (<https://github.com/pulumi/crd2pulumi/pull/120>)
- Support kubernetes provider v4 (<https://github.com/pulumi/crd2pulumi/pull/119>)
## 1.2.5 (2023-05-31)
- Remove underscores in generated nested types (<https://github.com/pulumi/crd2pulumi/pull/114>)
## 1.2.4 (2023-03-23)
- Requires Go 1.19 or higher now to build
- Fix issue [#108](https://github.com/pulumi/crd2pulumi/issues/108) - crd2pulumi generator splits types apart into duplicate entires in pulumiTypes.go and pulumiTypes1.go
## 1.2.3 (2022-10-18)
- Fix issue [#43: crd properties with - in name](https://github.com/pulumi/crd2pulumi/issues/43) (<https://github.com/pulumi/crd2pulumi/pull/99>)
## 1.2.2 (2022-07-20)
- Fix regression that caused code in all languages to be generated regardless of selection.
## 1.2.1 (2022-07-19)
This release is a refactor with no user-affecting changes.
- Create public interface for codegen in the `pkg/codegen` namespace
while placing internal utilities under `internal/`
- Simplify cobra usage, simplify program config substantially
- A new test env var, `TEST_SKIP_CLEANUP`, can be set to instruct the
`crds_test.go` tests to not perform temp dir cleanup after the test
run, for the purposes of investigating bad output during test failure.
Generated code is now placed in temp dirs with friendly, identifiable
names for each test case.
- General refactoring: removal of dead code, reorganizing functions into
more appropriately named files or packages.
- Update to latest Pulumi SDK as well as update all other dependencies.
- Update to Go 1.18
- Upgrade to go 1.17 (<https://github.com/pulumi/crd2pulumi/pull/75>)
## 1.2.0 (2022-02-07)
- [python] Do not overwrite _utilities.py (<https://github.com/pulumi/crd2pulumi/pull/73/>)
## 1.1.0 (2022-01-04)
- Update to Pulumi v3.21.0 (<https://github.com/pulumi/crd2pulumi/pull/63>)
- Fix x-kubernetes-int-or-string precedence (<https://github.com/pulumi/crd2pulumi/pull/60>)
- Add generating CRD from URL (<https://github.com/pulumi/crd2pulumi/pull/62>)

201
LICENSE Normal file
View File

@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

325
README.md Normal file
View File

@@ -0,0 +1,325 @@
# crd2pulumi
Generate typed CustomResources based on Kubernetes CustomResourceDefinitions.
## Goals
`crd2pulumi` is a CLI tool that generates typed CustomResources based on Kubernetes CustomResourceDefinition (CRDs).
CRDs allow you to extend the Kubernetes API by defining your own schemas for custom objects. While Pulumi lets you create
[CustomResources](https://www.pulumi.com/docs/reference/pkg/kubernetes/apiextensions/customresource/), there was previously
no strong-typing for these objects since every schema was, well, custom. This can be a massive headache for popular CRDs
such as [cert-manager](https://github.com/jetstack/cert-manager/tree/master/deploy/crds) or
[istio](https://github.com/istio/istio/tree/0321da58ca86fc786fb03a68afd29d082477e4f2/manifests/charts/base/crds), which
contain thousands of lines of complex YAML schemas. By generating typed versions of CustomResources, `crd2pulumi` makes
filling out their arguments more convenient by allowing you to leverage existing IDE type checking and autocomplete features.
## Building and Installation
If you wish to use `crd2pulumi` without developing the tool itself, you can use one of the [binary releases](https://github.com/pulumi/crd2pulumi/releases) hosted on this repository.
### Homebrew
`crd2pulumi` can be installed on Mac from the Pulumi Homebrew tap.
```console
brew install pulumi/tap/crd2pulumi
```
`crd2pulumi` uses Go modules to manage dependencies. If you want to develop `crd2pulumi` itself, you'll need to have
Go installed in order to build. Once you install this prerequisite, run the following to build the `crd2pulumi` binary
and install it into `$GOPATH/bin`:
```bash
$ go build -ldflags="-X github.com/pulumi/crd2pulumi/gen.Version=dev" -o $GOPATH/bin/crd2pulumi main.go
```
The `ldflags` argument is necessary to dynamically set the `crd2pulumi` version at build time. However, the version
itself can be anything, so you don't have to set it to `dev`.
Go should then automatically handle pulling the dependencies for you. If `$GOPATH/bin` is not on your path, you may
want to move the `crd2pulumi` binary from `$GOPATH/bin` into a directory that is on your path.
## Usage
```bash
crd2pulumi is a CLI tool that generates typed Kubernetes
CustomResources to use in Pulumi programs, based on a
CustomResourceDefinition YAML schema.
Usage:
crd2pulumi [-dgnp] [--nodejsPath path] [--pythonPath path] [--dotnetPath path] [--goPath path] [--javaPath path] <crd1.yaml> [crd2.yaml ...] [flags]
crd2pulumi [command]
Examples:
crd2pulumi --nodejs crontabs.yaml
crd2pulumi -dgnp crd-certificates.yaml crd-issuers.yaml crd-challenges.yaml
crd2pulumi --pythonPath=crds/python/istio --nodejsPath=crds/nodejs/istio crd-all.gen.yaml crd-mixer.yaml crd-operator.yaml
crd2pulumi --pythonPath=crds/python/gke https://raw.githubusercontent.com/GoogleCloudPlatform/gke-managed-certs/master/deploy/managedcertificates-crd.yaml
Notice that by just setting a language-specific output path (--pythonPath, --nodejsPath, etc) the code will
still get generated, so setting -p, -n, etc becomes unnecessary.
Available Commands:
help Help about any command
version Print the version number of crd2pulumi
Flags:
-d, --dotnet generate .NET
--dotnetName string name of generated .NET package (default "crds")
--dotnetNamespace string namespace of generated .NET package
--dotnetPath string optional .NET output dir
-f, --force overwrite existing files
-g, --go generate Go
--goName string name of generated Go package (default "crds")
--goPath string optional Go output dir
-h, --help help for crd2pulumi
-j, --java generate Java
--javaBasePackage string base package of generated Java package
--javaName string name of generated Java package (default "crds")
--javaPath string optional Java output dir
-n, --nodejs generate NodeJS
--nodejsName string name of generated NodeJS package (default "crds")
--nodejsNamespace string namespace of generated NodeJS package
--nodejsPath string optional NodeJS output dir
-p, --python generate Python
--pythonName string name of generated Python package (default "crds")
--pythonPackagePrefix string prefix of generated Python package
--pythonPath string optional Python output dir
Use "crd2pulumi [command] --help" for more information about a command.
```
Setting only a language-specific flag will output the generated code in the default directory; so `-d` will output to
`crds/dotnet`, `-g` will output to `crds/go`, `-j` will output to `crds/java`, `-n` will output to `crds/nodejs`, and
`-p` will output to `crds/python`. You can also specify a language-specific path (`--pythonPath`, `--nodejsPath`, etc)
to control where the code will be outputted, in which case setting `-p`, `-n`, etc becomes unnecessary.
## Examples
Let's use the example CronTab CRD specified in `resourcedefinition.yaml` from the
[Kubernetes Documentation](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/).
### TypeScript
To generate a strongly-typed CronTab CustomResource in TypeScript, we can run this command:
```bash
$ crd2pulumi --nodejsPath ./crontabs resourcedefinition.yaml
```
Now let's import the generated code into a Pulumi program that provisions the CRD and creates an instance of it.
```typescript
import * as crontabs from "./crontabs"
import * as pulumi from "@pulumi/pulumi"
import * as k8s from "@pulumi/kubernetes";
// Register the CronTab CRD.
const cronTabDefinition = new k8s.yaml.ConfigFile("my-crontab-definition", { file: "resourcedefinition.yaml" });
// Instantiate a CronTab resource.
const myCronTab = new crontabs.stable.v1.CronTab("my-new-cron-object",
{
metadata: {
name: "my-new-cron-object",
},
spec: {
cronSpec: "* * * * */5",
image: "my-awesome-cron-image",
}
})
```
As you can see, the `CronTab` object is typed! For example, if you try to set
`cronSpec` to a non-string or add an extra field, your IDE should immediately warn you.
### Python
```bash
$ crd2pulumi --pythonPath ./crontabs resourcedefinition.yaml
```
```python
import pulumi_kubernetes as k8s
import crontabs.pulumi_crds as crontabs
# Register the CronTab CRD.
crontab_definition = k8s.yaml.ConfigFile("my-crontab-definition", file="resourcedefinition.yaml")
# Instantiate a CronTab resource.
crontab_instance = crontabs.stable.v1.CronTab(
"my-new-cron-object",
metadata=k8s.meta.v1.ObjectMetaArgs(
name="my-new-cron-object"
),
spec=crontabs.stable.v1.CronTabSpecArgs(
cron_spec="* * * */5",
image="my-awesome-cron-image",
)
)
```
### Go
```bash
$ crd2pulumi --goPath ./crontabs resourcedefinition.yaml
```
Now we can access the `NewCronTab()` constructor. Create a `main.go` file with the following code. In this example,
the Pulumi project's module is named `crds-go-final`, so the import path is `crds-go-final/crontabs/stable/v1`. Make
sure to swap this out with your own module's name.
```go
package main
import (
crontabs_v1 "crds-go-final/crontabs/stable/v1"
meta_v1 "github.com/pulumi/pulumi-kubernetes/sdk/v2/go/kubernetes/meta/v1"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Register the CronTab CRD.
_, err := yaml.NewConfigFile(ctx, "my-crontab-definition",
&yaml.ConfigFileArgs{
File: "resourcedefinition.yaml",
},
)
if err != nil {
return err
}
// Instantiate a CronTab resource.
_, err := crontabs_v1.NewCronTab(ctx, "cronTabInstance", &crontabs_v1.CronTabArgs{
Metadata: &meta_v1.ObjectMetaArgs{
Name: pulumi.String("my-new-cron-object"),
},
Spec: crontabs_v1.CronTabSpecArgs{
CronSpec: pulumi.String("* * * * */5"),
Image: pulumi.String("my-awesome-cron-image"),
Replicas: pulumi.IntPtr(3),
},
})
if err != nil {
return err
}
return nil
})
}
```
### C\#
```bash
$ crd2pulumi --dotnetPath ./crontabs resourcedefinition.yaml
```
```csharp
using Pulumi;
using Pulumi.Kubernetes.Yaml;
using Pulumi.Kubernetes.Types.Inputs.Meta.V1;
class MyStack : Stack
{
public MyStack()
{
// Register a CronTab CRD.
var cronTabDefinition = new Pulumi.Kubernetes.Yaml.ConfigFile("my-crontab-definition",
new ConfigFileArgs{
File = "resourcedefinition.yaml"
}
);
// Instantiate a CronTab resource.
var cronTabInstance = new Pulumi.Crds.Stable.V1.CronTab("cronTabInstance",
new Pulumi.Kubernetes.Types.Inputs.Stable.V1.CronTabArgs{
Metadata = new ObjectMetaArgs{
Name = "my-new-cron-object"
},
Spec = new Pulumi.Kubernetes.Types.Inputs.Stable.V1.CronTabSpecArgs{
CronSpec = "* * * * */5",
Image = "my-awesome-cron-image"
}
});
}
}
```
> If you get an `Duplicate 'global::System.Runtime.Versioning.TargetFrameworkAttribute' attribute` error when trying to run `pulumi up`, then try deleting the `crontabs/bin` and `crontabs/obj` folders.
### Java
```bash
$ crd2pulumi --javaPath ./crontabs resourcedefinition.yaml
```
```java
package com.example;
import com.pulumi.Pulumi;
public class MyStack {
public static void main(String[] args) {
Pulumi.run(ctx -> {
// Register a CronTab CRD (Coming Soon - see https://www.pulumi.com/registry/packages/kubernetes/api-docs/yaml/configfile/)
// Instantiate a CronTab resource.
var cronTabInstance = new com.pulumi.crds.stable.v1.CronTab("cronTabInstance",
com.pulumi.crds.stable.v1.CronTabArgs.builder()
.metadata(com.pulumi.kubernetes.meta.v1.inputs.ObjectMetaArgs.builder()
.name("my-new-cron-object")
.build())
.spec(com.pulumi.kubernetes.stable.v1.inputs.CronTabSpecArgs.builder()
.cronSpec("* * * * */5")
.image("my-awesome-cron-image")
.build())
.build());
});
}
}
```
Now let's run the program and perform the update.
```bash
$ pulumi up
Previewing update (dev):
Type Name Plan
pulumi:pulumi:Stack examples-dev
+ ├─ kubernetes:stable.example.com:CronTab my-new-cron-object create
+ └─ kubernetes:apiextensions.k8s.io:CustomResourceDefinition my-crontab-definition create
Resources:
+ 2 to create
1 unchanged
Do you want to perform this update? yes
Updating (dev):
Type Name Status
pulumi:pulumi:Stack examples-dev
+ ├─ kubernetes:stable.example.com:CronTab my-new-cron-object created
+ └─ kubernetes:apiextensions.k8s.io:CustomResourceDefinition my-crontab-definition created
Outputs:
urn: "urn:pulumi:dev::examples::kubernetes:stable.example.com/v1:CronTab::my-new-cron-object"
Resources:
+ 2 created
1 unchanged
Duration: 17s
Permalink: https://app.pulumi.com/albert-zhong/examples/dev/updates/4
```
It looks like both the CronTab definition and instance were both created! Finally, let's verify that they were created
by manually viewing the raw YAML data:
```bash
$ kubectl get ct -o yaml
```
```yaml
- apiVersion: stable.example.com/v1
kind: CronTab
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"stable.example.com/v1","kind":"CronTab","metadata":{"labels":{"app.kubernetes.io/managed-by":"pulumi"},"name":"my-new-cron-object"},"spec":{"cronSpec":"* * * * */5","image":"my-awesome-cron-image"}}
creationTimestamp: "2020-08-10T09:50:38Z"
generation: 1
labels:
app.kubernetes.io/managed-by: pulumi
name: my-new-cron-object
namespace: default
resourceVersion: "1658962"
selfLink: /apis/stable.example.com/v1/namespaces/default/crontabs/my-new-cron-object
uid: 5e2c56a2-7332-49cf-b0fc-211a0892c3d5
spec:
cronSpec: '* * * * */5'
image: my-awesome-cron-image
kind: List
metadata:
resourceVersion: ""
selfLink: ""
```

BIN
crd2pulumi.tar.gz Normal file

Binary file not shown.

View File

@@ -1,6 +1,5 @@
import * as v1 from "./v1";
import * as v1alpha1 from "./v1alpha1";
import * as v1alpha2 from "./v1alpha2";
import * as v1alpha3 from "./v1alpha3";
import * as v1beta1 from "./v1beta1";
export { v1, v1alpha1, v1alpha2, v1alpha3, v1beta1, };
export { v1, v1alpha2, v1alpha3, v1beta1, };

View File

@@ -2,12 +2,10 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.v1beta1 = exports.v1alpha3 = exports.v1alpha2 = exports.v1alpha1 = exports.v1 = void 0;
exports.v1beta1 = exports.v1alpha3 = exports.v1alpha2 = exports.v1 = void 0;
// Export sub-modules:
const v1 = require("./v1");
exports.v1 = v1;
const v1alpha1 = require("./v1alpha1");
exports.v1alpha1 = v1alpha1;
const v1alpha2 = require("./v1alpha2");
exports.v1alpha2 = v1alpha2;
const v1alpha3 = require("./v1alpha3");

View File

@@ -5,14 +5,12 @@ import * as utilities from "../utilities";
// Export sub-modules:
import * as v1 from "./v1";
import * as v1alpha1 from "./v1alpha1";
import * as v1alpha2 from "./v1alpha2";
import * as v1alpha3 from "./v1alpha3";
import * as v1beta1 from "./v1beta1";
export {
v1,
v1alpha1,
v1alpha2,
v1alpha3,
v1beta1,

View File

@@ -81,6 +81,8 @@ class GRPCRoute extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(GRPCRoute.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -101,6 +101,8 @@ export class GRPCRoute extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(GRPCRoute.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -87,6 +87,8 @@ class GRPCRoutePatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(GRPCRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -107,6 +107,8 @@ export class GRPCRoutePatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(GRPCRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -1,12 +1,3 @@
export { BackendTLSPolicyArgs } from "./backendTLSPolicy";
export type BackendTLSPolicy = import("./backendTLSPolicy").BackendTLSPolicy;
export declare const BackendTLSPolicy: typeof import("./backendTLSPolicy").BackendTLSPolicy;
export { BackendTLSPolicyListArgs } from "./backendTLSPolicyList";
export type BackendTLSPolicyList = import("./backendTLSPolicyList").BackendTLSPolicyList;
export declare const BackendTLSPolicyList: typeof import("./backendTLSPolicyList").BackendTLSPolicyList;
export { BackendTLSPolicyPatchArgs } from "./backendTLSPolicyPatch";
export type BackendTLSPolicyPatch = import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export declare const BackendTLSPolicyPatch: typeof import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export { GatewayArgs } from "./gateway";
export type Gateway = import("./gateway").Gateway;
export declare const Gateway: typeof import("./gateway").Gateway;

View File

@@ -2,15 +2,9 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
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;
exports.HTTPRoutePatch = exports.HTTPRouteList = exports.HTTPRoute = exports.GRPCRoutePatch = exports.GRPCRouteList = exports.GRPCRoute = exports.GatewayPatch = exports.GatewayList = exports.GatewayClassPatch = exports.GatewayClassList = exports.GatewayClass = exports.Gateway = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
exports.BackendTLSPolicy = null;
utilities.lazyLoad(exports, ["BackendTLSPolicy"], () => require("./backendTLSPolicy"));
exports.BackendTLSPolicyList = null;
utilities.lazyLoad(exports, ["BackendTLSPolicyList"], () => require("./backendTLSPolicyList"));
exports.BackendTLSPolicyPatch = null;
utilities.lazyLoad(exports, ["BackendTLSPolicyPatch"], () => require("./backendTLSPolicyPatch"));
exports.Gateway = null;
utilities.lazyLoad(exports, ["Gateway"], () => require("./gateway"));
exports.GatewayClass = null;
@@ -39,12 +33,6 @@ const _module = {
version: utilities.getVersion(),
construct: (name, type, urn) => {
switch (type) {
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy":
return new exports.BackendTLSPolicy(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyList":
return new exports.BackendTLSPolicyList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch":
return new exports.BackendTLSPolicyPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1:GRPCRoute":
return new exports.GRPCRoute(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1:GRPCRouteList":

View File

@@ -5,21 +5,6 @@ import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../../utilities";
// Export members:
export { BackendTLSPolicyArgs } from "./backendTLSPolicy";
export type BackendTLSPolicy = import("./backendTLSPolicy").BackendTLSPolicy;
export const BackendTLSPolicy: typeof import("./backendTLSPolicy").BackendTLSPolicy = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicy"], () => require("./backendTLSPolicy"));
export { BackendTLSPolicyListArgs } from "./backendTLSPolicyList";
export type BackendTLSPolicyList = import("./backendTLSPolicyList").BackendTLSPolicyList;
export const BackendTLSPolicyList: typeof import("./backendTLSPolicyList").BackendTLSPolicyList = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicyList"], () => require("./backendTLSPolicyList"));
export { BackendTLSPolicyPatchArgs } from "./backendTLSPolicyPatch";
export type BackendTLSPolicyPatch = import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export const BackendTLSPolicyPatch: typeof import("./backendTLSPolicyPatch").BackendTLSPolicyPatch = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicyPatch"], () => require("./backendTLSPolicyPatch"));
export { GatewayArgs } from "./gateway";
export type Gateway = import("./gateway").Gateway;
export const Gateway: typeof import("./gateway").Gateway = null as any;
@@ -85,12 +70,6 @@ const _module = {
version: utilities.getVersion(),
construct: (name: string, type: string, urn: string): pulumi.Resource => {
switch (type) {
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy":
return new BackendTLSPolicy(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyList":
return new BackendTLSPolicyList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch":
return new BackendTLSPolicyPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1:GRPCRoute":
return new GRPCRoute(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1:GRPCRouteList":

View File

@@ -1,27 +0,0 @@
export { XBackendTrafficPolicyArgs } from "./xbackendTrafficPolicy";
export type XBackendTrafficPolicy = import("./xbackendTrafficPolicy").XBackendTrafficPolicy;
export declare const XBackendTrafficPolicy: typeof import("./xbackendTrafficPolicy").XBackendTrafficPolicy;
export { XBackendTrafficPolicyListArgs } from "./xbackendTrafficPolicyList";
export type XBackendTrafficPolicyList = import("./xbackendTrafficPolicyList").XBackendTrafficPolicyList;
export declare const XBackendTrafficPolicyList: typeof import("./xbackendTrafficPolicyList").XBackendTrafficPolicyList;
export { XBackendTrafficPolicyPatchArgs } from "./xbackendTrafficPolicyPatch";
export type XBackendTrafficPolicyPatch = import("./xbackendTrafficPolicyPatch").XBackendTrafficPolicyPatch;
export declare const XBackendTrafficPolicyPatch: typeof import("./xbackendTrafficPolicyPatch").XBackendTrafficPolicyPatch;
export { XListenerSetArgs } from "./xlistenerSet";
export type XListenerSet = import("./xlistenerSet").XListenerSet;
export declare const XListenerSet: typeof import("./xlistenerSet").XListenerSet;
export { XListenerSetListArgs } from "./xlistenerSetList";
export type XListenerSetList = import("./xlistenerSetList").XListenerSetList;
export declare const XListenerSetList: typeof import("./xlistenerSetList").XListenerSetList;
export { XListenerSetPatchArgs } from "./xlistenerSetPatch";
export type XListenerSetPatch = import("./xlistenerSetPatch").XListenerSetPatch;
export declare const XListenerSetPatch: typeof import("./xlistenerSetPatch").XListenerSetPatch;
export { XMeshArgs } from "./xmesh";
export type XMesh = import("./xmesh").XMesh;
export declare const XMesh: typeof import("./xmesh").XMesh;
export { XMeshListArgs } from "./xmeshList";
export type XMeshList = import("./xmeshList").XMeshList;
export declare const XMeshList: typeof import("./xmeshList").XMeshList;
export { XMeshPatchArgs } from "./xmeshPatch";
export type XMeshPatch = import("./xmeshPatch").XMeshPatch;
export declare const XMeshPatch: typeof import("./xmeshPatch").XMeshPatch;

View File

@@ -1,53 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XMeshPatch = exports.XMeshList = exports.XMesh = exports.XListenerSetPatch = exports.XListenerSetList = exports.XListenerSet = exports.XBackendTrafficPolicyPatch = exports.XBackendTrafficPolicyList = exports.XBackendTrafficPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
exports.XBackendTrafficPolicy = null;
utilities.lazyLoad(exports, ["XBackendTrafficPolicy"], () => require("./xbackendTrafficPolicy"));
exports.XBackendTrafficPolicyList = null;
utilities.lazyLoad(exports, ["XBackendTrafficPolicyList"], () => require("./xbackendTrafficPolicyList"));
exports.XBackendTrafficPolicyPatch = null;
utilities.lazyLoad(exports, ["XBackendTrafficPolicyPatch"], () => require("./xbackendTrafficPolicyPatch"));
exports.XListenerSet = null;
utilities.lazyLoad(exports, ["XListenerSet"], () => require("./xlistenerSet"));
exports.XListenerSetList = null;
utilities.lazyLoad(exports, ["XListenerSetList"], () => require("./xlistenerSetList"));
exports.XListenerSetPatch = null;
utilities.lazyLoad(exports, ["XListenerSetPatch"], () => require("./xlistenerSetPatch"));
exports.XMesh = null;
utilities.lazyLoad(exports, ["XMesh"], () => require("./xmesh"));
exports.XMeshList = null;
utilities.lazyLoad(exports, ["XMeshList"], () => require("./xmeshList"));
exports.XMeshPatch = null;
utilities.lazyLoad(exports, ["XMeshPatch"], () => require("./xmeshPatch"));
const _module = {
version: utilities.getVersion(),
construct: (name, type, urn) => {
switch (type) {
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy":
return new exports.XBackendTrafficPolicy(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList":
return new exports.XBackendTrafficPolicyList(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch":
return new exports.XBackendTrafficPolicyPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet":
return new exports.XListenerSet(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList":
return new exports.XListenerSetList(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch":
return new exports.XListenerSetPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh":
return new exports.XMesh(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList":
return new exports.XMeshList(name, undefined, { urn });
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch":
return new exports.XMeshPatch(name, undefined, { urn });
default:
throw new Error(`unknown resource type ${type}`);
}
},
};
pulumi.runtime.registerResourceModule("crds", "gateway.networking.x-k8s.io/v1alpha1", _module);

View File

@@ -1,81 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../../utilities";
// Export members:
export { XBackendTrafficPolicyArgs } from "./xbackendTrafficPolicy";
export type XBackendTrafficPolicy = import("./xbackendTrafficPolicy").XBackendTrafficPolicy;
export const XBackendTrafficPolicy: typeof import("./xbackendTrafficPolicy").XBackendTrafficPolicy = null as any;
utilities.lazyLoad(exports, ["XBackendTrafficPolicy"], () => require("./xbackendTrafficPolicy"));
export { XBackendTrafficPolicyListArgs } from "./xbackendTrafficPolicyList";
export type XBackendTrafficPolicyList = import("./xbackendTrafficPolicyList").XBackendTrafficPolicyList;
export const XBackendTrafficPolicyList: typeof import("./xbackendTrafficPolicyList").XBackendTrafficPolicyList = null as any;
utilities.lazyLoad(exports, ["XBackendTrafficPolicyList"], () => require("./xbackendTrafficPolicyList"));
export { XBackendTrafficPolicyPatchArgs } from "./xbackendTrafficPolicyPatch";
export type XBackendTrafficPolicyPatch = import("./xbackendTrafficPolicyPatch").XBackendTrafficPolicyPatch;
export const XBackendTrafficPolicyPatch: typeof import("./xbackendTrafficPolicyPatch").XBackendTrafficPolicyPatch = null as any;
utilities.lazyLoad(exports, ["XBackendTrafficPolicyPatch"], () => require("./xbackendTrafficPolicyPatch"));
export { XListenerSetArgs } from "./xlistenerSet";
export type XListenerSet = import("./xlistenerSet").XListenerSet;
export const XListenerSet: typeof import("./xlistenerSet").XListenerSet = null as any;
utilities.lazyLoad(exports, ["XListenerSet"], () => require("./xlistenerSet"));
export { XListenerSetListArgs } from "./xlistenerSetList";
export type XListenerSetList = import("./xlistenerSetList").XListenerSetList;
export const XListenerSetList: typeof import("./xlistenerSetList").XListenerSetList = null as any;
utilities.lazyLoad(exports, ["XListenerSetList"], () => require("./xlistenerSetList"));
export { XListenerSetPatchArgs } from "./xlistenerSetPatch";
export type XListenerSetPatch = import("./xlistenerSetPatch").XListenerSetPatch;
export const XListenerSetPatch: typeof import("./xlistenerSetPatch").XListenerSetPatch = null as any;
utilities.lazyLoad(exports, ["XListenerSetPatch"], () => require("./xlistenerSetPatch"));
export { XMeshArgs } from "./xmesh";
export type XMesh = import("./xmesh").XMesh;
export const XMesh: typeof import("./xmesh").XMesh = null as any;
utilities.lazyLoad(exports, ["XMesh"], () => require("./xmesh"));
export { XMeshListArgs } from "./xmeshList";
export type XMeshList = import("./xmeshList").XMeshList;
export const XMeshList: typeof import("./xmeshList").XMeshList = null as any;
utilities.lazyLoad(exports, ["XMeshList"], () => require("./xmeshList"));
export { XMeshPatchArgs } from "./xmeshPatch";
export type XMeshPatch = import("./xmeshPatch").XMeshPatch;
export const XMeshPatch: typeof import("./xmeshPatch").XMeshPatch = null as any;
utilities.lazyLoad(exports, ["XMeshPatch"], () => require("./xmeshPatch"));
const _module = {
version: utilities.getVersion(),
construct: (name: string, type: string, urn: string): pulumi.Resource => {
switch (type) {
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy":
return new XBackendTrafficPolicy(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList":
return new XBackendTrafficPolicyList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch":
return new XBackendTrafficPolicyPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet":
return new XListenerSet(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList":
return new XListenerSetList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch":
return new XListenerSetPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh":
return new XMesh(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList":
return new XMeshList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch":
return new XMeshPatch(name, <any>undefined, { urn })
default:
throw new Error(`unknown resource type ${type}`);
}
},
};
pulumi.runtime.registerResourceModule("crds", "gateway.networking.x-k8s.io/v1alpha1", _module)

View File

@@ -1,65 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
export declare class XBackendTrafficPolicy extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicy;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy";
/**
* Returns true if the given object is an instance of XBackendTrafficPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XBackendTrafficPolicy;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
readonly kind: pulumi.Output<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicySpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicyStatus>;
/**
* Create a XBackendTrafficPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XBackendTrafficPolicy resource.
*/
export interface XBackendTrafficPolicyArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicySpec>;
}

View File

@@ -1,64 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XBackendTrafficPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
class XBackendTrafficPolicy extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XBackendTrafficPolicy(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XBackendTrafficPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicy.__pulumiType;
}
/**
* Create a XBackendTrafficPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XBackendTrafficPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicy.__pulumiType, name, resourceInputs, opts);
}
}
exports.XBackendTrafficPolicy = XBackendTrafficPolicy;
/** @internal */
XBackendTrafficPolicy.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy';

View File

@@ -1,100 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
export class XBackendTrafficPolicy extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicy {
return new XBackendTrafficPolicy(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicy';
/**
* Returns true if the given object is an instance of XBackendTrafficPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XBackendTrafficPolicy {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicy.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMeta>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicySpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicyStatus>;
/**
* Create a XBackendTrafficPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XBackendTrafficPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicy.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XBackendTrafficPolicy resource.
*/
export interface XBackendTrafficPolicyArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicySpec>;
}

View File

@@ -1,69 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XBackendTrafficPolicyList is a list of XBackendTrafficPolicy
*/
export declare class XBackendTrafficPolicyList extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicyList;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList";
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XBackendTrafficPolicyList;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xbackendtrafficpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
readonly items: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicy[]>;
/**
* 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
*/
readonly kind: pulumi.Output<"XBackendTrafficPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XBackendTrafficPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XBackendTrafficPolicyList resource.
*/
export interface XBackendTrafficPolicyListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xbackendtrafficpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicy>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
metadata?: pulumi.Input<inputs.meta.v1.ListMeta>;
}

View File

@@ -1,64 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XBackendTrafficPolicyList = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XBackendTrafficPolicyList is a list of XBackendTrafficPolicy
*/
class XBackendTrafficPolicyList extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XBackendTrafficPolicyList(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicyList.__pulumiType;
}
/**
* Create a XBackendTrafficPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XBackendTrafficPolicyList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["items"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicyList.__pulumiType, name, resourceInputs, opts);
}
}
exports.XBackendTrafficPolicyList = XBackendTrafficPolicyList;
/** @internal */
XBackendTrafficPolicyList.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList';

View File

@@ -1,105 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XBackendTrafficPolicyList is a list of XBackendTrafficPolicy
*/
export class XBackendTrafficPolicyList extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicyList {
return new XBackendTrafficPolicyList(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyList';
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XBackendTrafficPolicyList {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicyList.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xbackendtrafficpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
public readonly items!: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicy[]>;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XBackendTrafficPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XBackendTrafficPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyListArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XBackendTrafficPolicyList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["items"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicyList.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XBackendTrafficPolicyList resource.
*/
export interface XBackendTrafficPolicyListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xbackendtrafficpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicy>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
metadata?: pulumi.Input<inputs.meta.v1.ListMeta>;
}

View File

@@ -1,71 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
export declare class XBackendTrafficPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicyPatch;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch";
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XBackendTrafficPolicyPatch;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
readonly kind: pulumi.Output<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicySpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicyStatusPatch>;
/**
* Create a XBackendTrafficPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyPatchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XBackendTrafficPolicyPatch resource.
*/
export interface XBackendTrafficPolicyPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicySpecPatch>;
}

View File

@@ -1,70 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XBackendTrafficPolicyPatch = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
class XBackendTrafficPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XBackendTrafficPolicyPatch(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicyPatch.__pulumiType;
}
/**
* Create a XBackendTrafficPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XBackendTrafficPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}
exports.XBackendTrafficPolicyPatch = XBackendTrafficPolicyPatch;
/** @internal */
XBackendTrafficPolicyPatch.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch';

View File

@@ -1,106 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XBackendTrafficPolicy defines the configuration for how traffic to a
* target backend should be handled.
*/
export class XBackendTrafficPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing XBackendTrafficPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XBackendTrafficPolicyPatch {
return new XBackendTrafficPolicyPatch(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XBackendTrafficPolicyPatch';
/**
* Returns true if the given object is an instance of XBackendTrafficPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XBackendTrafficPolicyPatch {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XBackendTrafficPolicyPatch.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicySpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XBackendTrafficPolicyStatusPatch>;
/**
* Create a XBackendTrafficPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XBackendTrafficPolicyPatchArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XBackendTrafficPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XBackendTrafficPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XBackendTrafficPolicyPatch resource.
*/
export interface XBackendTrafficPolicyPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XBackendTrafficPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XBackendTrafficPolicySpecPatch>;
}

View File

@@ -1,90 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
*/
export declare class XListenerSet extends pulumi.CustomResource {
/**
* Get an existing XListenerSet resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSet;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet";
/**
* Returns true if the given object is an instance of XListenerSet. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XListenerSet;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
readonly kind: pulumi.Output<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetSpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetStatus>;
/**
* Create a XListenerSet resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XListenerSet resource.
*/
export interface XListenerSetArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XListenerSetSpec>;
}

View File

@@ -1,89 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XListenerSet = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
*/
class XListenerSet extends pulumi.CustomResource {
/**
* Get an existing XListenerSet resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XListenerSet(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XListenerSet. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSet.__pulumiType;
}
/**
* Create a XListenerSet resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XListenerSet";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSet.__pulumiType, name, resourceInputs, opts);
}
}
exports.XListenerSet = XListenerSet;
/** @internal */
XListenerSet.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet';

View File

@@ -1,125 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
*/
export class XListenerSet extends pulumi.CustomResource {
/**
* Get an existing XListenerSet resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSet {
return new XListenerSet(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSet';
/**
* Returns true if the given object is an instance of XListenerSet. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XListenerSet {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSet.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMeta>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetSpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetStatus>;
/**
* Create a XListenerSet resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XListenerSet";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSet.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XListenerSet resource.
*/
export interface XListenerSetArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XListenerSetSpec>;
}

View File

@@ -1,69 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XListenerSetList is a list of XListenerSet
*/
export declare class XListenerSetList extends pulumi.CustomResource {
/**
* Get an existing XListenerSetList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSetList;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList";
/**
* Returns true if the given object is an instance of XListenerSetList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XListenerSetList;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xlistenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
readonly items: pulumi.Output<outputs.gateway.v1alpha1.XListenerSet[]>;
/**
* 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
*/
readonly kind: pulumi.Output<"XListenerSetList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XListenerSetList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XListenerSetList resource.
*/
export interface XListenerSetListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xlistenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XListenerSet>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSetList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
metadata?: pulumi.Input<inputs.meta.v1.ListMeta>;
}

View File

@@ -1,105 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XListenerSetList is a list of XListenerSet
*/
export class XListenerSetList extends pulumi.CustomResource {
/**
* Get an existing XListenerSetList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSetList {
return new XListenerSetList(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList';
/**
* Returns true if the given object is an instance of XListenerSetList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XListenerSetList {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSetList.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xlistenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
public readonly items!: pulumi.Output<outputs.gateway.v1alpha1.XListenerSet[]>;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XListenerSetList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XListenerSetList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetListArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XListenerSetList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["items"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSetList.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XListenerSetList resource.
*/
export interface XListenerSetListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* List of xlistenersets. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XListenerSet>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSetList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
metadata?: pulumi.Input<inputs.meta.v1.ListMeta>;
}

View File

@@ -1,95 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XListenerSetPatch = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
*/
class XListenerSetPatch extends pulumi.CustomResource {
/**
* Get an existing XListenerSetPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XListenerSetPatch(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XListenerSetPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSetPatch.__pulumiType;
}
/**
* Create a XListenerSetPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XListenerSet";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSetPatch.__pulumiType, name, resourceInputs, opts);
}
}
exports.XListenerSetPatch = XListenerSetPatch;
/** @internal */
XListenerSetPatch.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch';

View File

@@ -1,131 +0,0 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
*/
export class XListenerSetPatch extends pulumi.CustomResource {
/**
* Get an existing XListenerSetPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSetPatch {
return new XListenerSetPatch(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch';
/**
* Returns true if the given object is an instance of XListenerSetPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XListenerSetPatch {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSetPatch.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetSpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetStatusPatch>;
/**
* Create a XListenerSetPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetPatchArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XListenerSet";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSetPatch.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XListenerSetPatch resource.
*/
export interface XListenerSetPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSet">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XListenerSetSpecPatch>;
}

View File

@@ -1,64 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
*/
export declare class XMesh extends pulumi.CustomResource {
/**
* Get an existing XMesh resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMesh;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh";
/**
* Returns true if the given object is an instance of XMesh. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XMesh;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
readonly kind: pulumi.Output<"XMesh">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XMeshSpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XMeshStatus>;
/**
* Create a XMesh resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XMesh resource.
*/
export interface XMeshArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XMesh">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XMeshSpec>;
}

View File

@@ -1,63 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XMesh = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
*/
class XMesh extends pulumi.CustomResource {
/**
* Get an existing XMesh resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XMesh(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XMesh. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMesh.__pulumiType;
}
/**
* Create a XMesh resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XMesh";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMesh.__pulumiType, name, resourceInputs, opts);
}
}
exports.XMesh = XMesh;
/** @internal */
XMesh.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh';

View File

@@ -1,64 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XMeshList = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XMeshList is a list of XMesh
*/
class XMeshList extends pulumi.CustomResource {
/**
* Get an existing XMeshList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XMeshList(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XMeshList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMeshList.__pulumiType;
}
/**
* Create a XMeshList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XMeshList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["items"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMeshList.__pulumiType, name, resourceInputs, opts);
}
}
exports.XMeshList = XMeshList;
/** @internal */
XMeshList.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList';

View File

@@ -1,70 +0,0 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* Patch resources are used to modify existing Kubernetes resources by using
* Server-Side Apply updates. The name of the resource must be specified, but all other properties are optional. More than
* one patch may be applied to the same resource, and a random FieldManager name will be used for each Patch resource.
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
*/
export declare class XMeshPatch extends pulumi.CustomResource {
/**
* Get an existing XMeshPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMeshPatch;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch";
/**
* Returns true if the given object is an instance of XMeshPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XMeshPatch;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
readonly kind: pulumi.Output<"XMesh">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XMeshSpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XMeshStatusPatch>;
/**
* Create a XMeshPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshPatchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XMeshPatch resource.
*/
export interface XMeshPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
/**
* 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
*/
kind?: pulumi.Input<"XMesh">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XMeshSpecPatch>;
}

View File

@@ -2,64 +2,64 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
export declare class BackendTLSPolicy extends pulumi.CustomResource {
export declare class BackendLBPolicy extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicy resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicy;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicy;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicy";
/**
* Returns true if the given object is an instance of BackendTLSPolicy. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is BackendTLSPolicy;
static isInstance(obj: any): obj is BackendLBPolicy;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"BackendTLSPolicy">;
readonly kind: pulumi.Output<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1.BackendTLSPolicySpec>;
readonly status: pulumi.Output<outputs.gateway.v1.BackendTLSPolicyStatus>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicySpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicyStatus>;
/**
* Create a BackendTLSPolicy resource with the given unique name, arguments, and options.
* Create a BackendLBPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: BackendLBPolicyArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a BackendTLSPolicy resource.
* The set of arguments for constructing a BackendLBPolicy resource.
*/
export interface BackendTLSPolicyArgs {
export interface BackendLBPolicyArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicy">;
kind?: pulumi.Input<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1.BackendTLSPolicySpec>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicySpec>;
}

View File

@@ -2,16 +2,16 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.BackendTLSPolicy = void 0;
exports.BackendLBPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
class BackendTLSPolicy extends pulumi.CustomResource {
class BackendLBPolicy extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicy resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -19,20 +19,20 @@ class BackendTLSPolicy extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new BackendTLSPolicy(name, undefined, { ...opts, id: id });
return new BackendLBPolicy(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of BackendTLSPolicy. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicy.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicy.__pulumiType;
}
/**
* Create a BackendTLSPolicy resource with the given unique name, arguments, and options.
* Create a BackendLBPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -42,8 +42,8 @@ class BackendTLSPolicy extends pulumi.CustomResource {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["kind"] = "BackendTLSPolicy";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "BackendLBPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -56,11 +56,9 @@ class BackendTLSPolicy extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicy" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicy.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicy.__pulumiType, name, resourceInputs, opts);
}
}
exports.BackendTLSPolicy = BackendTLSPolicy;
exports.BackendLBPolicy = BackendLBPolicy;
/** @internal */
BackendTLSPolicy.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy';
BackendLBPolicy.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicy';

View File

@@ -7,63 +7,64 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
export class XMesh extends pulumi.CustomResource {
export class BackendLBPolicy extends pulumi.CustomResource {
/**
* Get an existing XMesh resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicy resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMesh {
return new XMesh(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicy {
return new BackendLBPolicy(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMesh';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicy';
/**
* Returns true if the given object is an instance of XMesh. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicy. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XMesh {
public static isInstance(obj: any): obj is BackendLBPolicy {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMesh.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicy.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XMesh">;
public readonly kind!: pulumi.Output<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMeta>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XMeshSpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XMeshStatus>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicySpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicyStatus>;
/**
* Create a XMesh resource with the given unique name, arguments, and options.
* Create a BackendLBPolicy resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: BackendLBPolicyArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XMesh";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "BackendLBPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -75,25 +76,25 @@ export class XMesh extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMesh.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicy.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XMesh resource.
* The set of arguments for constructing a BackendLBPolicy resource.
*/
export interface XMeshArgs {
export interface BackendLBPolicyArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"XMesh">;
kind?: pulumi.Input<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XMeshSpec>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicySpec>;
}

View File

@@ -2,66 +2,66 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* BackendTLSPolicyList is a list of BackendTLSPolicy
* BackendLBPolicyList is a list of BackendLBPolicy
*/
export declare class BackendTLSPolicyList extends pulumi.CustomResource {
export declare class BackendLBPolicyList extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyList resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicyList;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicyList;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyList";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyList";
/**
* Returns true if the given object is an instance of BackendTLSPolicyList. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is BackendTLSPolicyList;
static isInstance(obj: any): obj is BackendLBPolicyList;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of backendtlspolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of backendlbpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
readonly items: pulumi.Output<outputs.gateway.v1.BackendTLSPolicy[]>;
readonly items: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicy[]>;
/**
* 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
*/
readonly kind: pulumi.Output<"BackendTLSPolicyList">;
readonly kind: pulumi.Output<"BackendLBPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a BackendTLSPolicyList resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyListArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: BackendLBPolicyListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a BackendTLSPolicyList resource.
* The set of arguments for constructing a BackendLBPolicyList resource.
*/
export interface BackendTLSPolicyListArgs {
export interface BackendLBPolicyListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of backendtlspolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of backendlbpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1.BackendTLSPolicy>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicy>[]>;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicyList">;
kind?: pulumi.Input<"BackendLBPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -2,15 +2,15 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.BackendTLSPolicyList = void 0;
exports.BackendLBPolicyList = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* BackendTLSPolicyList is a list of BackendTLSPolicy
* BackendLBPolicyList is a list of BackendLBPolicy
*/
class BackendTLSPolicyList extends pulumi.CustomResource {
class BackendLBPolicyList extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyList resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -18,20 +18,20 @@ class BackendTLSPolicyList extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new BackendTLSPolicyList(name, undefined, { ...opts, id: id });
return new BackendLBPolicyList(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of BackendTLSPolicyList. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicyList.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicyList.__pulumiType;
}
/**
* Create a BackendTLSPolicyList resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -44,9 +44,9 @@ class BackendTLSPolicyList extends pulumi.CustomResource {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "BackendTLSPolicyList";
resourceInputs["kind"] = "BackendLBPolicyList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
}
else {
@@ -56,9 +56,9 @@ class BackendTLSPolicyList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(BackendTLSPolicyList.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicyList.__pulumiType, name, resourceInputs, opts);
}
}
exports.BackendTLSPolicyList = BackendTLSPolicyList;
exports.BackendLBPolicyList = BackendLBPolicyList;
/** @internal */
BackendTLSPolicyList.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyList';
BackendLBPolicyList.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyList';

View File

@@ -7,69 +7,69 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* BackendTLSPolicyList is a list of BackendTLSPolicy
* BackendLBPolicyList is a list of BackendLBPolicy
*/
export class BackendTLSPolicyList extends pulumi.CustomResource {
export class BackendLBPolicyList extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyList resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicyList {
return new BackendTLSPolicyList(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicyList {
return new BackendLBPolicyList(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyList';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyList';
/**
* Returns true if the given object is an instance of BackendTLSPolicyList. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is BackendTLSPolicyList {
public static isInstance(obj: any): obj is BackendLBPolicyList {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicyList.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicyList.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of backendtlspolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of backendlbpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
public readonly items!: pulumi.Output<outputs.gateway.v1.BackendTLSPolicy[]>;
public readonly items!: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicy[]>;
/**
* 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
*/
public readonly kind!: pulumi.Output<"BackendTLSPolicyList">;
public readonly kind!: pulumi.Output<"BackendLBPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a BackendTLSPolicyList resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyListArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: BackendLBPolicyListArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "BackendTLSPolicyList";
resourceInputs["kind"] = "BackendLBPolicyList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
@@ -78,26 +78,26 @@ export class BackendTLSPolicyList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(BackendTLSPolicyList.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicyList.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a BackendTLSPolicyList resource.
* The set of arguments for constructing a BackendLBPolicyList resource.
*/
export interface BackendTLSPolicyListArgs {
export interface BackendLBPolicyListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of backendtlspolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of backendlbpolicies. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1.BackendTLSPolicy>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicy>[]>;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicyList">;
kind?: pulumi.Input<"BackendLBPolicyList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -8,64 +8,64 @@ import * as outputs from "../../types/output";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
export declare class BackendTLSPolicyPatch extends pulumi.CustomResource {
export declare class BackendLBPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyPatch resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicyPatch;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicyPatch;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyPatch";
/**
* Returns true if the given object is an instance of BackendTLSPolicyPatch. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is BackendTLSPolicyPatch;
static isInstance(obj: any): obj is BackendLBPolicyPatch;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"BackendTLSPolicy">;
readonly kind: pulumi.Output<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1.BackendTLSPolicySpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1.BackendTLSPolicyStatusPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicySpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicyStatusPatch>;
/**
* Create a BackendTLSPolicyPatch resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyPatchArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: BackendLBPolicyPatchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a BackendTLSPolicyPatch resource.
* The set of arguments for constructing a BackendLBPolicyPatch resource.
*/
export interface BackendTLSPolicyPatchArgs {
export interface BackendLBPolicyPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicy">;
kind?: pulumi.Input<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1.BackendTLSPolicySpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicySpecPatch>;
}

View File

@@ -2,7 +2,7 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XMeshPatch = void 0;
exports.BackendLBPolicyPatch = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
@@ -12,11 +12,12 @@ const utilities = require("../../utilities");
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
class XMeshPatch extends pulumi.CustomResource {
class BackendLBPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing XMeshPatch resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -24,20 +25,20 @@ class XMeshPatch extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XMeshPatch(name, undefined, { ...opts, id: id });
return new BackendLBPolicyPatch(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XMeshPatch. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMeshPatch.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicyPatch.__pulumiType;
}
/**
* Create a XMeshPatch resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -47,8 +48,8 @@ class XMeshPatch extends pulumi.CustomResource {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XMesh";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "BackendLBPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -61,9 +62,9 @@ class XMeshPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMeshPatch.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}
exports.XMeshPatch = XMeshPatch;
exports.BackendLBPolicyPatch = BackendLBPolicyPatch;
/** @internal */
XMeshPatch.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch';
BackendLBPolicyPatch.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyPatch';

View File

@@ -13,63 +13,64 @@ import * as utilities from "../../utilities";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XMesh defines mesh-wide characteristics of a GAMMA-compliant service mesh.
* BackendLBPolicy provides a way to define load balancing rules
* for a backend.
*/
export class XMeshPatch extends pulumi.CustomResource {
export class BackendLBPolicyPatch extends pulumi.CustomResource {
/**
* Get an existing XMeshPatch resource's state with the given name, ID, and optional extra
* Get an existing BackendLBPolicyPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMeshPatch {
return new XMeshPatch(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendLBPolicyPatch {
return new BackendLBPolicyPatch(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshPatch';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyPatch';
/**
* Returns true if the given object is an instance of XMeshPatch. This is designed to work even
* Returns true if the given object is an instance of BackendLBPolicyPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XMeshPatch {
public static isInstance(obj: any): obj is BackendLBPolicyPatch {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMeshPatch.__pulumiType;
return obj['__pulumiType'] === BackendLBPolicyPatch.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XMesh">;
public readonly kind!: pulumi.Output<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha1.XMeshSpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha1.XMeshStatusPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicySpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha2.BackendLBPolicyStatusPatch>;
/**
* Create a XMeshPatch resource with the given unique name, arguments, and options.
* Create a BackendLBPolicyPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshPatchArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: BackendLBPolicyPatchArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["kind"] = "XMesh";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "BackendLBPolicy";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -81,25 +82,25 @@ export class XMeshPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMeshPatch.__pulumiType, name, resourceInputs, opts);
super(BackendLBPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XMeshPatch resource.
* The set of arguments for constructing a BackendLBPolicyPatch resource.
*/
export interface XMeshPatchArgs {
export interface BackendLBPolicyPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"XMesh">;
kind?: pulumi.Input<"BackendLBPolicy">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XMeshSpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.BackendLBPolicySpecPatch>;
}

View File

@@ -0,0 +1,90 @@
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
export declare class GRPCRoute extends pulumi.CustomResource {
/**
* Get an existing GRPCRoute resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRoute;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute";
/**
* Returns true if the given object is an instance of GRPCRoute. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is GRPCRoute;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteSpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteStatus>;
/**
* Create a GRPCRoute resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: GRPCRouteArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a GRPCRoute resource.
*/
export interface GRPCRouteArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.GRPCRouteSpec>;
}

View File

@@ -0,0 +1,91 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.GRPCRoute = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
class GRPCRoute extends pulumi.CustomResource {
/**
* Get an existing GRPCRoute resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new GRPCRoute(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of GRPCRoute. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === GRPCRoute.__pulumiType;
}
/**
* Create a GRPCRoute resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "GRPCRoute";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:GRPCRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(GRPCRoute.__pulumiType, name, resourceInputs, opts);
}
}
exports.GRPCRoute = GRPCRoute;
/** @internal */
GRPCRoute.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute';

View File

@@ -7,64 +7,89 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
export class BackendTLSPolicy extends pulumi.CustomResource {
export class GRPCRoute extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicy resource's state with the given name, ID, and optional extra
* Get an existing GRPCRoute resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicy {
return new BackendTLSPolicy(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRoute {
return new GRPCRoute(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute';
/**
* Returns true if the given object is an instance of BackendTLSPolicy. This is designed to work even
* Returns true if the given object is an instance of GRPCRoute. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is BackendTLSPolicy {
public static isInstance(obj: any): obj is GRPCRoute {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicy.__pulumiType;
return obj['__pulumiType'] === GRPCRoute.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"BackendTLSPolicy">;
public readonly kind!: pulumi.Output<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMeta>;
public readonly spec!: pulumi.Output<outputs.gateway.v1.BackendTLSPolicySpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1.BackendTLSPolicyStatus>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteSpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteStatus>;
/**
* Create a BackendTLSPolicy resource with the given unique name, arguments, and options.
* Create a GRPCRoute resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: GRPCRouteArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["kind"] = "BackendTLSPolicy";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "GRPCRoute";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -76,27 +101,27 @@ export class BackendTLSPolicy extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicy" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:GRPCRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicy.__pulumiType, name, resourceInputs, opts);
super(GRPCRoute.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a BackendTLSPolicy resource.
* The set of arguments for constructing a GRPCRoute resource.
*/
export interface BackendTLSPolicyArgs {
export interface GRPCRouteArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicy">;
kind?: pulumi.Input<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1.BackendTLSPolicySpec>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.GRPCRouteSpec>;
}

View File

@@ -2,66 +2,66 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* TLSRouteList is a list of TLSRoute
* GRPCRouteList is a list of GRPCRoute
*/
export declare class TLSRouteList extends pulumi.CustomResource {
export declare class GRPCRouteList extends pulumi.CustomResource {
/**
* Get an existing TLSRouteList resource's state with the given name, ID, and optional extra
* Get an existing GRPCRouteList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRouteList;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRouteList;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRouteList";
/**
* Returns true if the given object is an instance of TLSRouteList. This is designed to work even
* Returns true if the given object is an instance of GRPCRouteList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is TLSRouteList;
static isInstance(obj: any): obj is GRPCRouteList;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of tlsroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of grpcroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
readonly items: pulumi.Output<outputs.gateway.v1alpha3.TLSRoute[]>;
readonly items: pulumi.Output<outputs.gateway.v1alpha2.GRPCRoute[]>;
/**
* 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
*/
readonly kind: pulumi.Output<"TLSRouteList">;
readonly kind: pulumi.Output<"GRPCRouteList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a TLSRouteList resource with the given unique name, arguments, and options.
* Create a GRPCRouteList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRouteListArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: GRPCRouteListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a TLSRouteList resource.
* The set of arguments for constructing a GRPCRouteList resource.
*/
export interface TLSRouteListArgs {
export interface GRPCRouteListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of tlsroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of grpcroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha3.TLSRoute>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.GRPCRoute>[]>;
/**
* 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
*/
kind?: pulumi.Input<"TLSRouteList">;
kind?: pulumi.Input<"GRPCRouteList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -2,15 +2,15 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.TLSRouteList = void 0;
exports.GRPCRouteList = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* TLSRouteList is a list of TLSRoute
* GRPCRouteList is a list of GRPCRoute
*/
class TLSRouteList extends pulumi.CustomResource {
class GRPCRouteList extends pulumi.CustomResource {
/**
* Get an existing TLSRouteList resource's state with the given name, ID, and optional extra
* Get an existing GRPCRouteList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -18,20 +18,20 @@ class TLSRouteList extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new TLSRouteList(name, undefined, { ...opts, id: id });
return new GRPCRouteList(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of TLSRouteList. This is designed to work even
* Returns true if the given object is an instance of GRPCRouteList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRouteList.__pulumiType;
return obj['__pulumiType'] === GRPCRouteList.__pulumiType;
}
/**
* Create a TLSRouteList resource with the given unique name, arguments, and options.
* Create a GRPCRouteList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -44,9 +44,9 @@ class TLSRouteList extends pulumi.CustomResource {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "TLSRouteList";
resourceInputs["kind"] = "GRPCRouteList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
}
else {
@@ -56,9 +56,9 @@ class TLSRouteList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(TLSRouteList.__pulumiType, name, resourceInputs, opts);
super(GRPCRouteList.__pulumiType, name, resourceInputs, opts);
}
}
exports.TLSRouteList = TLSRouteList;
exports.GRPCRouteList = GRPCRouteList;
/** @internal */
TLSRouteList.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList';
GRPCRouteList.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRouteList';

View File

@@ -7,69 +7,69 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* TLSRouteList is a list of TLSRoute
* GRPCRouteList is a list of GRPCRoute
*/
export class TLSRouteList extends pulumi.CustomResource {
export class GRPCRouteList extends pulumi.CustomResource {
/**
* Get an existing TLSRouteList resource's state with the given name, ID, and optional extra
* Get an existing GRPCRouteList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRouteList {
return new TLSRouteList(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRouteList {
return new GRPCRouteList(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRouteList';
/**
* Returns true if the given object is an instance of TLSRouteList. This is designed to work even
* Returns true if the given object is an instance of GRPCRouteList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is TLSRouteList {
public static isInstance(obj: any): obj is GRPCRouteList {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRouteList.__pulumiType;
return obj['__pulumiType'] === GRPCRouteList.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of tlsroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of grpcroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
public readonly items!: pulumi.Output<outputs.gateway.v1alpha3.TLSRoute[]>;
public readonly items!: pulumi.Output<outputs.gateway.v1alpha2.GRPCRoute[]>;
/**
* 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
*/
public readonly kind!: pulumi.Output<"TLSRouteList">;
public readonly kind!: pulumi.Output<"GRPCRouteList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a TLSRouteList resource with the given unique name, arguments, and options.
* Create a GRPCRouteList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRouteListArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: GRPCRouteListArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "TLSRouteList";
resourceInputs["kind"] = "GRPCRouteList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
@@ -78,26 +78,26 @@ export class TLSRouteList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(TLSRouteList.__pulumiType, name, resourceInputs, opts);
super(GRPCRouteList.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a TLSRouteList resource.
* The set of arguments for constructing a GRPCRouteList resource.
*/
export interface TLSRouteListArgs {
export interface GRPCRouteListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of tlsroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of grpcroutes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha3.TLSRoute>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.GRPCRoute>[]>;
/**
* 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
*/
kind?: pulumi.Input<"TLSRouteList">;
kind?: pulumi.Input<"GRPCRouteList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -8,89 +8,89 @@ import * as outputs from "../../types/output";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* XListenerSet defines a set of additional listeners to attach to an existing Gateway.
* This resource provides a mechanism to merge multiple listeners into a single Gateway.
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* The parent Gateway must explicitly allow ListenerSet attachment through its
* AllowedListeners configuration. By default, Gateways do not allow ListenerSet
* attachment.
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Routes can attach to a ListenerSet by specifying it as a parentRef, and can
* optionally target specific listeners using the sectionName field.
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Policy Attachment:
* - Policies that attach to a ListenerSet apply to all listeners defined in that resource
* - Policies do not impact listeners in the parent Gateway
* - Different ListenerSets attached to the same Gateway can have different policies
* - If an implementation cannot apply a policy to specific listeners, it should reject the policy
*
* ReferenceGrant Semantics:
* - ReferenceGrants applied to a Gateway are not inherited by child ListenerSets
* - ReferenceGrants applied to a ListenerSet do not grant permission to the parent Gateway's listeners
* - A ListenerSet can reference secrets/backends in its own namespace without a ReferenceGrant
*
* Gateway Integration:
* - The parent Gateway's status will include an "AttachedListenerSets" condition
* - This condition will be:
* - True: when AllowedListeners is set and at least one child ListenerSet is attached
* - False: when AllowedListeners is set but no valid listeners are attached, or when AllowedListeners is not set or false
* - Unknown: when no AllowedListeners config is present
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
export declare class XListenerSetPatch extends pulumi.CustomResource {
export declare class GRPCRoutePatch extends pulumi.CustomResource {
/**
* Get an existing XListenerSetPatch resource's state with the given name, ID, and optional extra
* Get an existing GRPCRoutePatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XListenerSetPatch;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRoutePatch;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetPatch";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch";
/**
* Returns true if the given object is an instance of XListenerSetPatch. This is designed to work even
* Returns true if the given object is an instance of GRPCRoutePatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XListenerSetPatch;
static isInstance(obj: any): obj is GRPCRoutePatch;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"XListenerSet">;
readonly kind: pulumi.Output<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetSpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha1.XListenerSetStatusPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteSpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteStatusPatch>;
/**
* Create a XListenerSetPatch resource with the given unique name, arguments, and options.
* Create a GRPCRoutePatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XListenerSetPatchArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: GRPCRoutePatchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XListenerSetPatch resource.
* The set of arguments for constructing a GRPCRoutePatch resource.
*/
export interface XListenerSetPatchArgs {
export interface GRPCRoutePatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"XListenerSet">;
kind?: pulumi.Input<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha1.XListenerSetSpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.GRPCRouteSpecPatch>;
}

View File

@@ -2,7 +2,7 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.BackendTLSPolicyPatch = void 0;
exports.GRPCRoutePatch = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
@@ -12,12 +12,37 @@ const utilities = require("../../utilities");
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
class BackendTLSPolicyPatch extends pulumi.CustomResource {
class GRPCRoutePatch extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyPatch resource's state with the given name, ID, and optional extra
* Get an existing GRPCRoutePatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -25,20 +50,20 @@ class BackendTLSPolicyPatch extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new BackendTLSPolicyPatch(name, undefined, { ...opts, id: id });
return new GRPCRoutePatch(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of BackendTLSPolicyPatch. This is designed to work even
* Returns true if the given object is an instance of GRPCRoutePatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicyPatch.__pulumiType;
return obj['__pulumiType'] === GRPCRoutePatch.__pulumiType;
}
/**
* Create a BackendTLSPolicyPatch resource with the given unique name, arguments, and options.
* Create a GRPCRoutePatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -48,8 +73,8 @@ class BackendTLSPolicyPatch extends pulumi.CustomResource {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["kind"] = "BackendTLSPolicy";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "GRPCRoute";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -62,11 +87,11 @@ class BackendTLSPolicyPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyPatch" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:GRPCRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicyPatch.__pulumiType, name, resourceInputs, opts);
super(GRPCRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}
exports.BackendTLSPolicyPatch = BackendTLSPolicyPatch;
exports.GRPCRoutePatch = GRPCRoutePatch;
/** @internal */
BackendTLSPolicyPatch.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch';
GRPCRoutePatch.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch';

View File

@@ -13,64 +13,89 @@ import * as utilities from "../../utilities";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* BackendTLSPolicy provides a way to configure how a Gateway
* connects to a Backend via TLS.
* GRPCRoute provides a way to route gRPC requests. This includes the capability
* to match requests by hostname, gRPC service, gRPC method, or HTTP/2 header.
* Filters can be used to specify additional processing steps. Backends specify
* where matching requests will be routed.
*
* GRPCRoute falls under extended support within the Gateway API. Within the
* following specification, the word "MUST" indicates that an implementation
* supporting GRPCRoute must conform to the indicated requirement, but an
* implementation not supporting this route type need not follow the requirement
* unless explicitly indicated.
*
* Implementations supporting `GRPCRoute` with the `HTTPS` `ProtocolType` MUST
* accept HTTP/2 connections without an initial upgrade from HTTP/1.1, i.e. via
* ALPN. If the implementation does not support this, then it MUST set the
* "Accepted" condition to "False" for the affected listener with a reason of
* "UnsupportedProtocol". Implementations MAY also accept HTTP/2 connections
* with an upgrade from HTTP/1.
*
* Implementations supporting `GRPCRoute` with the `HTTP` `ProtocolType` MUST
* support HTTP/2 over cleartext TCP (h2c,
* https://www.rfc-editor.org/rfc/rfc7540#section-3.1) without an initial
* upgrade from HTTP/1.1, i.e. with prior knowledge
* (https://www.rfc-editor.org/rfc/rfc7540#section-3.4). If the implementation
* does not support this, then it MUST set the "Accepted" condition to "False"
* for the affected listener with a reason of "UnsupportedProtocol".
* Implementations MAY also accept HTTP/2 connections with an upgrade from
* HTTP/1, i.e. without prior knowledge.
*/
export class BackendTLSPolicyPatch extends pulumi.CustomResource {
export class GRPCRoutePatch extends pulumi.CustomResource {
/**
* Get an existing BackendTLSPolicyPatch resource's state with the given name, ID, and optional extra
* Get an existing GRPCRoutePatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): BackendTLSPolicyPatch {
return new BackendTLSPolicyPatch(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): GRPCRoutePatch {
return new GRPCRoutePatch(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch';
/**
* Returns true if the given object is an instance of BackendTLSPolicyPatch. This is designed to work even
* Returns true if the given object is an instance of GRPCRoutePatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is BackendTLSPolicyPatch {
public static isInstance(obj: any): obj is GRPCRoutePatch {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === BackendTLSPolicyPatch.__pulumiType;
return obj['__pulumiType'] === GRPCRoutePatch.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"BackendTLSPolicy">;
public readonly kind!: pulumi.Output<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1.BackendTLSPolicySpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1.BackendTLSPolicyStatusPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteSpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha2.GRPCRouteStatusPatch>;
/**
* Create a BackendTLSPolicyPatch resource with the given unique name, arguments, and options.
* Create a GRPCRoutePatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: BackendTLSPolicyPatchArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: GRPCRoutePatchArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1";
resourceInputs["kind"] = "BackendTLSPolicy";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "GRPCRoute";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
@@ -82,27 +107,27 @@ export class BackendTLSPolicyPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyPatch" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:GRPCRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicyPatch.__pulumiType, name, resourceInputs, opts);
super(GRPCRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a BackendTLSPolicyPatch resource.
* The set of arguments for constructing a GRPCRoutePatch resource.
*/
export interface BackendTLSPolicyPatchArgs {
export interface GRPCRoutePatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"BackendTLSPolicy">;
kind?: pulumi.Input<"GRPCRoute">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1.BackendTLSPolicySpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.GRPCRouteSpecPatch>;
}

View File

@@ -1,3 +1,30 @@
export { BackendLBPolicyArgs } from "./backendLBPolicy";
export type BackendLBPolicy = import("./backendLBPolicy").BackendLBPolicy;
export declare const BackendLBPolicy: typeof import("./backendLBPolicy").BackendLBPolicy;
export { BackendLBPolicyListArgs } from "./backendLBPolicyList";
export type BackendLBPolicyList = import("./backendLBPolicyList").BackendLBPolicyList;
export declare const BackendLBPolicyList: typeof import("./backendLBPolicyList").BackendLBPolicyList;
export { BackendLBPolicyPatchArgs } from "./backendLBPolicyPatch";
export type BackendLBPolicyPatch = import("./backendLBPolicyPatch").BackendLBPolicyPatch;
export declare const BackendLBPolicyPatch: typeof import("./backendLBPolicyPatch").BackendLBPolicyPatch;
export { GRPCRouteArgs } from "./grpcroute";
export type GRPCRoute = import("./grpcroute").GRPCRoute;
export declare const GRPCRoute: typeof import("./grpcroute").GRPCRoute;
export { GRPCRouteListArgs } from "./grpcrouteList";
export type GRPCRouteList = import("./grpcrouteList").GRPCRouteList;
export declare const GRPCRouteList: typeof import("./grpcrouteList").GRPCRouteList;
export { GRPCRoutePatchArgs } from "./grpcroutePatch";
export type GRPCRoutePatch = import("./grpcroutePatch").GRPCRoutePatch;
export declare const GRPCRoutePatch: typeof import("./grpcroutePatch").GRPCRoutePatch;
export { ReferenceGrantArgs } from "./referenceGrant";
export type ReferenceGrant = import("./referenceGrant").ReferenceGrant;
export declare const ReferenceGrant: typeof import("./referenceGrant").ReferenceGrant;
export { ReferenceGrantListArgs } from "./referenceGrantList";
export type ReferenceGrantList = import("./referenceGrantList").ReferenceGrantList;
export declare const ReferenceGrantList: typeof import("./referenceGrantList").ReferenceGrantList;
export { ReferenceGrantPatchArgs } from "./referenceGrantPatch";
export type ReferenceGrantPatch = import("./referenceGrantPatch").ReferenceGrantPatch;
export declare const ReferenceGrantPatch: typeof import("./referenceGrantPatch").ReferenceGrantPatch;
export { TCPRouteArgs } from "./tcproute";
export type TCPRoute = import("./tcproute").TCPRoute;
export declare const TCPRoute: typeof import("./tcproute").TCPRoute;

View File

@@ -2,9 +2,27 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.UDPRoutePatch = exports.UDPRouteList = exports.UDPRoute = exports.TLSRoutePatch = exports.TLSRouteList = exports.TLSRoute = exports.TCPRoutePatch = exports.TCPRouteList = exports.TCPRoute = void 0;
exports.UDPRoutePatch = exports.UDPRouteList = exports.UDPRoute = exports.TLSRoutePatch = exports.TLSRouteList = exports.TLSRoute = exports.TCPRoutePatch = exports.TCPRouteList = exports.TCPRoute = exports.ReferenceGrantPatch = exports.ReferenceGrantList = exports.ReferenceGrant = exports.GRPCRoutePatch = exports.GRPCRouteList = exports.GRPCRoute = exports.BackendLBPolicyPatch = exports.BackendLBPolicyList = exports.BackendLBPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
exports.BackendLBPolicy = null;
utilities.lazyLoad(exports, ["BackendLBPolicy"], () => require("./backendLBPolicy"));
exports.BackendLBPolicyList = null;
utilities.lazyLoad(exports, ["BackendLBPolicyList"], () => require("./backendLBPolicyList"));
exports.BackendLBPolicyPatch = null;
utilities.lazyLoad(exports, ["BackendLBPolicyPatch"], () => require("./backendLBPolicyPatch"));
exports.GRPCRoute = null;
utilities.lazyLoad(exports, ["GRPCRoute"], () => require("./grpcroute"));
exports.GRPCRouteList = null;
utilities.lazyLoad(exports, ["GRPCRouteList"], () => require("./grpcrouteList"));
exports.GRPCRoutePatch = null;
utilities.lazyLoad(exports, ["GRPCRoutePatch"], () => require("./grpcroutePatch"));
exports.ReferenceGrant = null;
utilities.lazyLoad(exports, ["ReferenceGrant"], () => require("./referenceGrant"));
exports.ReferenceGrantList = null;
utilities.lazyLoad(exports, ["ReferenceGrantList"], () => require("./referenceGrantList"));
exports.ReferenceGrantPatch = null;
utilities.lazyLoad(exports, ["ReferenceGrantPatch"], () => require("./referenceGrantPatch"));
exports.TCPRoute = null;
utilities.lazyLoad(exports, ["TCPRoute"], () => require("./tcproute"));
exports.TCPRouteList = null;
@@ -27,6 +45,24 @@ const _module = {
version: utilities.getVersion(),
construct: (name, type, urn) => {
switch (type) {
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicy":
return new exports.BackendLBPolicy(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyList":
return new exports.BackendLBPolicyList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyPatch":
return new exports.BackendLBPolicyPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute":
return new exports.GRPCRoute(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRouteList":
return new exports.GRPCRouteList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch":
return new exports.GRPCRoutePatch(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant":
return new exports.ReferenceGrant(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantList":
return new exports.ReferenceGrantList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch":
return new exports.ReferenceGrantPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:TCPRoute":
return new exports.TCPRoute(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha2:TCPRouteList":

View File

@@ -5,6 +5,51 @@ import * as pulumi from "@pulumi/pulumi";
import * as utilities from "../../utilities";
// Export members:
export { BackendLBPolicyArgs } from "./backendLBPolicy";
export type BackendLBPolicy = import("./backendLBPolicy").BackendLBPolicy;
export const BackendLBPolicy: typeof import("./backendLBPolicy").BackendLBPolicy = null as any;
utilities.lazyLoad(exports, ["BackendLBPolicy"], () => require("./backendLBPolicy"));
export { BackendLBPolicyListArgs } from "./backendLBPolicyList";
export type BackendLBPolicyList = import("./backendLBPolicyList").BackendLBPolicyList;
export const BackendLBPolicyList: typeof import("./backendLBPolicyList").BackendLBPolicyList = null as any;
utilities.lazyLoad(exports, ["BackendLBPolicyList"], () => require("./backendLBPolicyList"));
export { BackendLBPolicyPatchArgs } from "./backendLBPolicyPatch";
export type BackendLBPolicyPatch = import("./backendLBPolicyPatch").BackendLBPolicyPatch;
export const BackendLBPolicyPatch: typeof import("./backendLBPolicyPatch").BackendLBPolicyPatch = null as any;
utilities.lazyLoad(exports, ["BackendLBPolicyPatch"], () => require("./backendLBPolicyPatch"));
export { GRPCRouteArgs } from "./grpcroute";
export type GRPCRoute = import("./grpcroute").GRPCRoute;
export const GRPCRoute: typeof import("./grpcroute").GRPCRoute = null as any;
utilities.lazyLoad(exports, ["GRPCRoute"], () => require("./grpcroute"));
export { GRPCRouteListArgs } from "./grpcrouteList";
export type GRPCRouteList = import("./grpcrouteList").GRPCRouteList;
export const GRPCRouteList: typeof import("./grpcrouteList").GRPCRouteList = null as any;
utilities.lazyLoad(exports, ["GRPCRouteList"], () => require("./grpcrouteList"));
export { GRPCRoutePatchArgs } from "./grpcroutePatch";
export type GRPCRoutePatch = import("./grpcroutePatch").GRPCRoutePatch;
export const GRPCRoutePatch: typeof import("./grpcroutePatch").GRPCRoutePatch = null as any;
utilities.lazyLoad(exports, ["GRPCRoutePatch"], () => require("./grpcroutePatch"));
export { ReferenceGrantArgs } from "./referenceGrant";
export type ReferenceGrant = import("./referenceGrant").ReferenceGrant;
export const ReferenceGrant: typeof import("./referenceGrant").ReferenceGrant = null as any;
utilities.lazyLoad(exports, ["ReferenceGrant"], () => require("./referenceGrant"));
export { ReferenceGrantListArgs } from "./referenceGrantList";
export type ReferenceGrantList = import("./referenceGrantList").ReferenceGrantList;
export const ReferenceGrantList: typeof import("./referenceGrantList").ReferenceGrantList = null as any;
utilities.lazyLoad(exports, ["ReferenceGrantList"], () => require("./referenceGrantList"));
export { ReferenceGrantPatchArgs } from "./referenceGrantPatch";
export type ReferenceGrantPatch = import("./referenceGrantPatch").ReferenceGrantPatch;
export const ReferenceGrantPatch: typeof import("./referenceGrantPatch").ReferenceGrantPatch = null as any;
utilities.lazyLoad(exports, ["ReferenceGrantPatch"], () => require("./referenceGrantPatch"));
export { TCPRouteArgs } from "./tcproute";
export type TCPRoute = import("./tcproute").TCPRoute;
export const TCPRoute: typeof import("./tcproute").TCPRoute = null as any;
@@ -55,6 +100,24 @@ const _module = {
version: utilities.getVersion(),
construct: (name: string, type: string, urn: string): pulumi.Resource => {
switch (type) {
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicy":
return new BackendLBPolicy(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyList":
return new BackendLBPolicyList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:BackendLBPolicyPatch":
return new BackendLBPolicyPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoute":
return new GRPCRoute(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRouteList":
return new GRPCRouteList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:GRPCRoutePatch":
return new GRPCRoutePatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant":
return new ReferenceGrant(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantList":
return new ReferenceGrantList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch":
return new ReferenceGrantPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:TCPRoute":
return new TCPRoute(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha2:TCPRouteList":

View File

@@ -2,68 +2,81 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
export declare class TLSRoute extends pulumi.CustomResource {
export declare class ReferenceGrant extends pulumi.CustomResource {
/**
* Get an existing TLSRoute resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrant resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRoute;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrant;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant";
/**
* Returns true if the given object is an instance of TLSRoute. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrant. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is TLSRoute;
static isInstance(obj: any): obj is ReferenceGrant;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"TLSRoute">;
readonly kind: pulumi.Output<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMeta>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteSpec>;
readonly status: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteStatus>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrantSpec>;
/**
* Create a TLSRoute resource with the given unique name, arguments, and options.
* Create a ReferenceGrant resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRouteArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: ReferenceGrantArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a TLSRoute resource.
* The set of arguments for constructing a ReferenceGrant resource.
*/
export interface TLSRouteArgs {
export interface ReferenceGrantArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"TLSRoute">;
kind?: pulumi.Input<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha3.TLSRouteSpec>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrantSpec>;
}

View File

@@ -0,0 +1,82 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReferenceGrant = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
class ReferenceGrant extends pulumi.CustomResource {
/**
* Get an existing ReferenceGrant resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new ReferenceGrant(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of ReferenceGrant. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === ReferenceGrant.__pulumiType;
}
/**
* Create a ReferenceGrant resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "ReferenceGrant";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1beta1:ReferenceGrant" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ReferenceGrant.__pulumiType, name, resourceInputs, opts);
}
}
exports.ReferenceGrant = ReferenceGrant;
/** @internal */
ReferenceGrant.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant';

View File

@@ -7,100 +7,111 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
export class TLSRoute extends pulumi.CustomResource {
export class ReferenceGrant extends pulumi.CustomResource {
/**
* Get an existing TLSRoute resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrant resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRoute {
return new TLSRoute(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrant {
return new ReferenceGrant(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant';
/**
* Returns true if the given object is an instance of TLSRoute. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrant. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is TLSRoute {
public static isInstance(obj: any): obj is ReferenceGrant {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRoute.__pulumiType;
return obj['__pulumiType'] === ReferenceGrant.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"TLSRoute">;
public readonly kind!: pulumi.Output<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMeta>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteSpec>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteStatus>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrantSpec>;
/**
* Create a TLSRoute resource with the given unique name, arguments, and options.
* Create a ReferenceGrant resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRouteArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: ReferenceGrantArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["kind"] = "TLSRoute";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "ReferenceGrant";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:TLSRoute" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1beta1:ReferenceGrant" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoute.__pulumiType, name, resourceInputs, opts);
super(ReferenceGrant.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a TLSRoute resource.
* The set of arguments for constructing a ReferenceGrant resource.
*/
export interface TLSRouteArgs {
export interface ReferenceGrantArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"TLSRoute">;
kind?: pulumi.Input<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMeta>;
spec?: pulumi.Input<inputs.gateway.v1alpha3.TLSRouteSpec>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrantSpec>;
}

View File

@@ -2,66 +2,66 @@ import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../../types/input";
import * as outputs from "../../types/output";
/**
* XMeshList is a list of XMesh
* ReferenceGrantList is a list of ReferenceGrant
*/
export declare class XMeshList extends pulumi.CustomResource {
export declare class ReferenceGrantList extends pulumi.CustomResource {
/**
* Get an existing XMeshList resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMeshList;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrantList;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantList";
/**
* Returns true if the given object is an instance of XMeshList. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is XMeshList;
static isInstance(obj: any): obj is ReferenceGrantList;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of xmeshes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of referencegrants. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
readonly items: pulumi.Output<outputs.gateway.v1alpha1.XMesh[]>;
readonly items: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrant[]>;
/**
* 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
*/
readonly kind: pulumi.Output<"XMeshList">;
readonly kind: pulumi.Output<"ReferenceGrantList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XMeshList resource with the given unique name, arguments, and options.
* Create a ReferenceGrantList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshListArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: ReferenceGrantListArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a XMeshList resource.
* The set of arguments for constructing a ReferenceGrantList resource.
*/
export interface XMeshListArgs {
export interface ReferenceGrantListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of xmeshes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of referencegrants. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XMesh>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrant>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XMeshList">;
kind?: pulumi.Input<"ReferenceGrantList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -2,15 +2,15 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.XListenerSetList = void 0;
exports.ReferenceGrantList = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* XListenerSetList is a list of XListenerSet
* ReferenceGrantList is a list of ReferenceGrant
*/
class XListenerSetList extends pulumi.CustomResource {
class ReferenceGrantList extends pulumi.CustomResource {
/**
* Get an existing XListenerSetList resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -18,20 +18,20 @@ class XListenerSetList extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new XListenerSetList(name, undefined, { ...opts, id: id });
return new ReferenceGrantList(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of XListenerSetList. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XListenerSetList.__pulumiType;
return obj['__pulumiType'] === ReferenceGrantList.__pulumiType;
}
/**
* Create a XListenerSetList resource with the given unique name, arguments, and options.
* Create a ReferenceGrantList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -44,9 +44,9 @@ class XListenerSetList extends pulumi.CustomResource {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XListenerSetList";
resourceInputs["kind"] = "ReferenceGrantList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
}
else {
@@ -56,9 +56,9 @@ class XListenerSetList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XListenerSetList.__pulumiType, name, resourceInputs, opts);
super(ReferenceGrantList.__pulumiType, name, resourceInputs, opts);
}
}
exports.XListenerSetList = XListenerSetList;
exports.ReferenceGrantList = ReferenceGrantList;
/** @internal */
XListenerSetList.__pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XListenerSetList';
ReferenceGrantList.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantList';

View File

@@ -7,69 +7,69 @@ import * as outputs from "../../types/output";
import * as utilities from "../../utilities";
/**
* XMeshList is a list of XMesh
* ReferenceGrantList is a list of ReferenceGrant
*/
export class XMeshList extends pulumi.CustomResource {
export class ReferenceGrantList extends pulumi.CustomResource {
/**
* Get an existing XMeshList resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantList resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): XMeshList {
return new XMeshList(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrantList {
return new ReferenceGrantList(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.x-k8s.io/v1alpha1:XMeshList';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantList';
/**
* Returns true if the given object is an instance of XMeshList. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantList. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is XMeshList {
public static isInstance(obj: any): obj is ReferenceGrantList {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === XMeshList.__pulumiType;
return obj['__pulumiType'] === ReferenceGrantList.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.x-k8s.io/v1alpha1">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of xmeshes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of referencegrants. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
public readonly items!: pulumi.Output<outputs.gateway.v1alpha1.XMesh[]>;
public readonly items!: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrant[]>;
/**
* 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
*/
public readonly kind!: pulumi.Output<"XMeshList">;
public readonly kind!: pulumi.Output<"ReferenceGrantList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ListMeta>;
/**
* Create a XMeshList resource with the given unique name, arguments, and options.
* Create a ReferenceGrantList resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: XMeshListArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: ReferenceGrantListArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
if ((!args || args.items === undefined) && !opts.urn) {
throw new Error("Missing required property 'items'");
}
resourceInputs["apiVersion"] = "gateway.networking.x-k8s.io/v1alpha1";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["items"] = args ? args.items : undefined;
resourceInputs["kind"] = "XMeshList";
resourceInputs["kind"] = "ReferenceGrantList";
resourceInputs["metadata"] = args ? args.metadata : undefined;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
@@ -78,26 +78,26 @@ export class XMeshList extends pulumi.CustomResource {
resourceInputs["metadata"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
super(XMeshList.__pulumiType, name, resourceInputs, opts);
super(ReferenceGrantList.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a XMeshList resource.
* The set of arguments for constructing a ReferenceGrantList resource.
*/
export interface XMeshListArgs {
export interface ReferenceGrantListArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.x-k8s.io/v1alpha1">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* List of xmeshes. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
* List of referencegrants. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md
*/
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha1.XMesh>[]>;
items: pulumi.Input<pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrant>[]>;
/**
* 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
*/
kind?: pulumi.Input<"XMeshList">;
kind?: pulumi.Input<"ReferenceGrantList">;
/**
* Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
*/

View File

@@ -8,68 +8,81 @@ import * as outputs from "../../types/output";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
export declare class TLSRoutePatch extends pulumi.CustomResource {
export declare class ReferenceGrantPatch extends pulumi.CustomResource {
/**
* Get an existing TLSRoutePatch resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRoutePatch;
static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrantPatch;
/** @internal */
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch";
static readonly __pulumiType = "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch";
/**
* Returns true if the given object is an instance of TLSRoutePatch. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is TLSRoutePatch;
static isInstance(obj: any): obj is ReferenceGrantPatch;
/**
* 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
*/
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
readonly apiVersion: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
readonly kind: pulumi.Output<"TLSRoute">;
readonly kind: pulumi.Output<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
readonly metadata: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteSpecPatch>;
readonly status: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteStatusPatch>;
readonly spec: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrantSpecPatch>;
/**
* Create a TLSRoutePatch resource with the given unique name, arguments, and options.
* Create a ReferenceGrantPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRoutePatchArgs, opts?: pulumi.CustomResourceOptions);
constructor(name: string, args?: ReferenceGrantPatchArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* The set of arguments for constructing a TLSRoutePatch resource.
* The set of arguments for constructing a ReferenceGrantPatch resource.
*/
export interface TLSRoutePatchArgs {
export interface ReferenceGrantPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"TLSRoute">;
kind?: pulumi.Input<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha3.TLSRouteSpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrantSpecPatch>;
}

View File

@@ -2,7 +2,7 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.TLSRoutePatch = void 0;
exports.ReferenceGrantPatch = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
@@ -12,16 +12,30 @@ const utilities = require("../../utilities");
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
class TLSRoutePatch extends pulumi.CustomResource {
class ReferenceGrantPatch extends pulumi.CustomResource {
/**
* Get an existing TLSRoutePatch resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
@@ -29,20 +43,20 @@ class TLSRoutePatch extends pulumi.CustomResource {
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new TLSRoutePatch(name, undefined, { ...opts, id: id });
return new ReferenceGrantPatch(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of TLSRoutePatch. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRoutePatch.__pulumiType;
return obj['__pulumiType'] === ReferenceGrantPatch.__pulumiType;
}
/**
* Create a TLSRoutePatch resource with the given unique name, arguments, and options.
* Create a ReferenceGrantPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
@@ -52,25 +66,23 @@ class TLSRoutePatch extends pulumi.CustomResource {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["kind"] = "TLSRoute";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "ReferenceGrant";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:TLSRoutePatch" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1beta1:ReferenceGrantPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoutePatch.__pulumiType, name, resourceInputs, opts);
super(ReferenceGrantPatch.__pulumiType, name, resourceInputs, opts);
}
}
exports.TLSRoutePatch = TLSRoutePatch;
exports.ReferenceGrantPatch = ReferenceGrantPatch;
/** @internal */
TLSRoutePatch.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch';
ReferenceGrantPatch.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch';

View File

@@ -13,100 +13,111 @@ import * as utilities from "../../utilities";
* Conflicts will result in an error by default, but can be forced using the "pulumi.com/patchForce" annotation. See the
* [Server-Side Apply Docs](https://www.pulumi.com/registry/packages/kubernetes/how-to-guides/managing-resources-with-server-side-apply/) for
* additional information about using Server-Side Apply to manage Kubernetes resources with Pulumi.
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
* ReferenceGrant identifies kinds of resources in other namespaces that are
* trusted to reference the specified kinds of resources in the same namespace
* as the policy.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
* Each ReferenceGrant can be used to represent a unique trust relationship.
* Additional Reference Grants can be used to add to the set of trusted
* sources of inbound references for the namespace they are defined within.
*
* A ReferenceGrant is required for all cross-namespace references in Gateway API
* (with the exception of cross-namespace Route-Gateway attachment, which is
* governed by the AllowedRoutes configuration on the Gateway, and cross-namespace
* Service ParentRefs on a "consumer" mesh Route, which defines routing rules
* applicable only to workloads in the Route namespace). ReferenceGrants allowing
* a reference from a Route to a Service are only applicable to BackendRefs.
*
* ReferenceGrant is a form of runtime verification allowing users to assert
* which cross-namespace object references are permitted. Implementations that
* support ReferenceGrant MUST NOT permit cross-namespace references which have
* no grant, and MUST respond to the removal of a grant by revoking the access
* that the grant allowed.
*/
export class TLSRoutePatch extends pulumi.CustomResource {
export class ReferenceGrantPatch extends pulumi.CustomResource {
/**
* Get an existing TLSRoutePatch resource's state with the given name, ID, and optional extra
* Get an existing ReferenceGrantPatch resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): TLSRoutePatch {
return new TLSRoutePatch(name, undefined as any, { ...opts, id: id });
public static get(name: string, id: pulumi.Input<pulumi.ID>, opts?: pulumi.CustomResourceOptions): ReferenceGrantPatch {
return new ReferenceGrantPatch(name, undefined as any, { ...opts, id: id });
}
/** @internal */
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch';
public static readonly __pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch';
/**
* Returns true if the given object is an instance of TLSRoutePatch. This is designed to work even
* Returns true if the given object is an instance of ReferenceGrantPatch. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
public static isInstance(obj: any): obj is TLSRoutePatch {
public static isInstance(obj: any): obj is ReferenceGrantPatch {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRoutePatch.__pulumiType;
return obj['__pulumiType'] === ReferenceGrantPatch.__pulumiType;
}
/**
* 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
*/
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha3">;
public readonly apiVersion!: pulumi.Output<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
public readonly kind!: pulumi.Output<"TLSRoute">;
public readonly kind!: pulumi.Output<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
public readonly metadata!: pulumi.Output<outputs.meta.v1.ObjectMetaPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteSpecPatch>;
public /*out*/ readonly status!: pulumi.Output<outputs.gateway.v1alpha3.TLSRouteStatusPatch>;
public readonly spec!: pulumi.Output<outputs.gateway.v1alpha2.ReferenceGrantSpecPatch>;
/**
* Create a TLSRoutePatch resource with the given unique name, arguments, and options.
* Create a ReferenceGrantPatch resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args?: TLSRoutePatchArgs, opts?: pulumi.CustomResourceOptions) {
constructor(name: string, args?: ReferenceGrantPatchArgs, opts?: pulumi.CustomResourceOptions) {
let resourceInputs: pulumi.Inputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["kind"] = "TLSRoute";
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha2";
resourceInputs["kind"] = "ReferenceGrant";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
} else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:TLSRoutePatch" }] };
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1beta1:ReferenceGrantPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoutePatch.__pulumiType, name, resourceInputs, opts);
super(ReferenceGrantPatch.__pulumiType, name, resourceInputs, opts);
}
}
/**
* The set of arguments for constructing a TLSRoutePatch resource.
* The set of arguments for constructing a ReferenceGrantPatch resource.
*/
export interface TLSRoutePatchArgs {
export interface ReferenceGrantPatchArgs {
/**
* 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
*/
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha3">;
apiVersion?: pulumi.Input<"gateway.networking.k8s.io/v1alpha2">;
/**
* 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
*/
kind?: pulumi.Input<"TLSRoute">;
kind?: pulumi.Input<"ReferenceGrant">;
/**
* Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
*/
metadata?: pulumi.Input<inputs.meta.v1.ObjectMetaPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha3.TLSRouteSpecPatch>;
spec?: pulumi.Input<inputs.gateway.v1alpha2.ReferenceGrantSpecPatch>;
}

View File

@@ -60,8 +60,6 @@ class TLSRoute extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoute.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -80,8 +80,6 @@ export class TLSRoute extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoute.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -66,8 +66,6 @@ class TLSRoutePatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -86,8 +86,6 @@ export class TLSRoutePatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoutePatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -56,8 +56,6 @@ class BackendTLSPolicy extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicy.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -76,8 +76,6 @@ export class BackendTLSPolicy extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicy" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicy.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -62,8 +62,6 @@ class BackendTLSPolicyPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -82,8 +82,6 @@ export class BackendTLSPolicyPatch extends pulumi.CustomResource {
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1:BackendTLSPolicyPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(BackendTLSPolicyPatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -7,12 +7,3 @@ export declare const BackendTLSPolicyList: typeof import("./backendTLSPolicyList
export { BackendTLSPolicyPatchArgs } from "./backendTLSPolicyPatch";
export type BackendTLSPolicyPatch = import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export declare const BackendTLSPolicyPatch: typeof import("./backendTLSPolicyPatch").BackendTLSPolicyPatch;
export { TLSRouteArgs } from "./tlsroute";
export type TLSRoute = import("./tlsroute").TLSRoute;
export declare const TLSRoute: typeof import("./tlsroute").TLSRoute;
export { TLSRouteListArgs } from "./tlsrouteList";
export type TLSRouteList = import("./tlsrouteList").TLSRouteList;
export declare const TLSRouteList: typeof import("./tlsrouteList").TLSRouteList;
export { TLSRoutePatchArgs } from "./tlsroutePatch";
export type TLSRoutePatch = import("./tlsroutePatch").TLSRoutePatch;
export declare const TLSRoutePatch: typeof import("./tlsroutePatch").TLSRoutePatch;

View File

@@ -2,7 +2,7 @@
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.TLSRoutePatch = exports.TLSRouteList = exports.TLSRoute = exports.BackendTLSPolicyPatch = exports.BackendTLSPolicyList = exports.BackendTLSPolicy = void 0;
exports.BackendTLSPolicyPatch = exports.BackendTLSPolicyList = exports.BackendTLSPolicy = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
exports.BackendTLSPolicy = null;
@@ -11,12 +11,6 @@ exports.BackendTLSPolicyList = null;
utilities.lazyLoad(exports, ["BackendTLSPolicyList"], () => require("./backendTLSPolicyList"));
exports.BackendTLSPolicyPatch = null;
utilities.lazyLoad(exports, ["BackendTLSPolicyPatch"], () => require("./backendTLSPolicyPatch"));
exports.TLSRoute = null;
utilities.lazyLoad(exports, ["TLSRoute"], () => require("./tlsroute"));
exports.TLSRouteList = null;
utilities.lazyLoad(exports, ["TLSRouteList"], () => require("./tlsrouteList"));
exports.TLSRoutePatch = null;
utilities.lazyLoad(exports, ["TLSRoutePatch"], () => require("./tlsroutePatch"));
const _module = {
version: utilities.getVersion(),
construct: (name, type, urn) => {
@@ -27,12 +21,6 @@ const _module = {
return new exports.BackendTLSPolicyList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyPatch":
return new exports.BackendTLSPolicyPatch(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute":
return new exports.TLSRoute(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList":
return new exports.TLSRouteList(name, undefined, { urn });
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch":
return new exports.TLSRoutePatch(name, undefined, { urn });
default:
throw new Error(`unknown resource type ${type}`);
}

View File

@@ -20,21 +20,6 @@ export type BackendTLSPolicyPatch = import("./backendTLSPolicyPatch").BackendTLS
export const BackendTLSPolicyPatch: typeof import("./backendTLSPolicyPatch").BackendTLSPolicyPatch = null as any;
utilities.lazyLoad(exports, ["BackendTLSPolicyPatch"], () => require("./backendTLSPolicyPatch"));
export { TLSRouteArgs } from "./tlsroute";
export type TLSRoute = import("./tlsroute").TLSRoute;
export const TLSRoute: typeof import("./tlsroute").TLSRoute = null as any;
utilities.lazyLoad(exports, ["TLSRoute"], () => require("./tlsroute"));
export { TLSRouteListArgs } from "./tlsrouteList";
export type TLSRouteList = import("./tlsrouteList").TLSRouteList;
export const TLSRouteList: typeof import("./tlsrouteList").TLSRouteList = null as any;
utilities.lazyLoad(exports, ["TLSRouteList"], () => require("./tlsrouteList"));
export { TLSRoutePatchArgs } from "./tlsroutePatch";
export type TLSRoutePatch = import("./tlsroutePatch").TLSRoutePatch;
export const TLSRoutePatch: typeof import("./tlsroutePatch").TLSRoutePatch = null as any;
utilities.lazyLoad(exports, ["TLSRoutePatch"], () => require("./tlsroutePatch"));
const _module = {
version: utilities.getVersion(),
@@ -46,12 +31,6 @@ const _module = {
return new BackendTLSPolicyList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha3:BackendTLSPolicyPatch":
return new BackendTLSPolicyPatch(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute":
return new TLSRoute(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRouteList":
return new TLSRouteList(name, <any>undefined, { urn })
case "kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoutePatch":
return new TLSRoutePatch(name, <any>undefined, { urn })
default:
throw new Error(`unknown resource type ${type}`);
}

View File

@@ -1,70 +0,0 @@
"use strict";
// *** WARNING: this file was generated by crd2pulumi. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
Object.defineProperty(exports, "__esModule", { value: true });
exports.TLSRoute = void 0;
const pulumi = require("@pulumi/pulumi");
const utilities = require("../../utilities");
/**
* The TLSRoute resource is similar to TCPRoute, but can be configured
* to match against TLS-specific metadata. This allows more flexibility
* in matching streams for a given TLS listener.
*
* If you need to forward traffic to a single target for a TLS listener, you
* could choose to use a TCPRoute with a TLS listener.
*/
class TLSRoute extends pulumi.CustomResource {
/**
* Get an existing TLSRoute resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name, id, opts) {
return new TLSRoute(name, undefined, { ...opts, id: id });
}
/**
* Returns true if the given object is an instance of TLSRoute. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj) {
if (obj === undefined || obj === null) {
return false;
}
return obj['__pulumiType'] === TLSRoute.__pulumiType;
}
/**
* Create a TLSRoute resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name, args, opts) {
let resourceInputs = {};
opts = opts || {};
if (!opts.id) {
resourceInputs["apiVersion"] = "gateway.networking.k8s.io/v1alpha3";
resourceInputs["kind"] = "TLSRoute";
resourceInputs["metadata"] = args ? args.metadata : undefined;
resourceInputs["spec"] = args ? args.spec : undefined;
resourceInputs["status"] = undefined /*out*/;
}
else {
resourceInputs["apiVersion"] = undefined /*out*/;
resourceInputs["kind"] = undefined /*out*/;
resourceInputs["metadata"] = undefined /*out*/;
resourceInputs["spec"] = undefined /*out*/;
resourceInputs["status"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:TLSRoute" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(TLSRoute.__pulumiType, name, resourceInputs, opts);
}
}
exports.TLSRoute = TLSRoute;
/** @internal */
TLSRoute.__pulumiType = 'kubernetes:gateway.networking.k8s.io/v1alpha3:TLSRoute';

View File

@@ -68,6 +68,8 @@ class ReferenceGrant extends pulumi.CustomResource {
resourceInputs["spec"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ReferenceGrant.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -87,6 +87,8 @@ export class ReferenceGrant extends pulumi.CustomResource {
resourceInputs["spec"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrant" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ReferenceGrant.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -74,6 +74,8 @@ class ReferenceGrantPatch extends pulumi.CustomResource {
resourceInputs["spec"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ReferenceGrantPatch.__pulumiType, name, resourceInputs, opts);
}
}

View File

@@ -93,6 +93,8 @@ export class ReferenceGrantPatch extends pulumi.CustomResource {
resourceInputs["spec"] = undefined /*out*/;
}
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
const aliasOpts = { aliases: [{ type: "kubernetes:gateway.networking.k8s.io/v1alpha2:ReferenceGrantPatch" }] };
opts = pulumi.mergeOptions(opts, aliasOpts);
super(ReferenceGrantPatch.__pulumiType, name, resourceInputs, opts);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3423
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "pulumi-extra-crds",
"version": "1.0.9",
"version": "1.0.10",
"license": "Apache-2.0",
"scripts": {
"generate": "node scripts/generate-crds.js",