From 972610d15f1daeeadf86619224f795ea56f2c97d Mon Sep 17 00:00:00 2001 From: Pulumi Bot <30351955+pulumi-bot@users.noreply.github.com> Date: Mon, 12 Aug 2024 02:20:22 -0700 Subject: [PATCH] Upgrade pulumi-terraform-bridge to v3.89.0 (#537) This PR was generated via `$ upgrade-provider pulumi/pulumi-rancher2 --kind=bridge --pr-reviewers=iwahbe`. --- - Updating Java Gen version from 0.12.0 to 0.14.0. - Upgrading pulumi-terraform-bridge from v3.88.0 to v3.89.0. --- .pulumi-java-gen.version | 2 +- examples/go.mod | 4 +- examples/go.sum | 8 +- .../cmd/pulumi-resource-rancher2/schema.json | 36 +- provider/go.mod | 7 +- provider/go.sum | 14 +- sdk/go.mod | 2 +- sdk/go.sum | 4 +- sdk/java/build.gradle | 4 +- .../main/java/com/pulumi/rancher2/App.java | 23 +- .../main/java/com/pulumi/rancher2/AppV2.java | 23 +- .../rancher2/AuthConfigActiveDirectory.java | 23 +- .../com/pulumi/rancher2/AuthConfigAdfs.java | 23 +- .../pulumi/rancher2/AuthConfigAzureAd.java | 23 +- .../pulumi/rancher2/AuthConfigFreeIpa.java | 23 +- .../com/pulumi/rancher2/AuthConfigGithub.java | 23 +- .../pulumi/rancher2/AuthConfigKeycloak.java | 23 +- .../com/pulumi/rancher2/AuthConfigOkta.java | 23 +- .../pulumi/rancher2/AuthConfigOpenLdap.java | 23 +- .../com/pulumi/rancher2/AuthConfigPing.java | 23 +- .../java/com/pulumi/rancher2/Bootstrap.java | 23 +- .../java/com/pulumi/rancher2/Catalog.java | 23 +- .../java/com/pulumi/rancher2/CatalogV2.java | 23 +- .../java/com/pulumi/rancher2/Certificate.java | 23 +- .../com/pulumi/rancher2/CloudCredential.java | 23 +- .../java/com/pulumi/rancher2/Cluster.java | 23 +- .../pulumi/rancher2/ClusterAlertGroup.java | 23 +- .../com/pulumi/rancher2/ClusterAlertRule.java | 23 +- .../com/pulumi/rancher2/ClusterDriver.java | 23 +- .../rancher2/ClusterRoleTemplateBinding.java | 23 +- .../java/com/pulumi/rancher2/ClusterSync.java | 23 +- .../com/pulumi/rancher2/ClusterTemplate.java | 23 +- .../java/com/pulumi/rancher2/ClusterV2.java | 23 +- .../java/com/pulumi/rancher2/ConfigMapV2.java | 23 +- .../com/pulumi/rancher2/CustomUserToken.java | 23 +- .../java/com/pulumi/rancher2/EtcdBackup.java | 23 +- .../java/com/pulumi/rancher2/Feature.java | 23 +- .../java/com/pulumi/rancher2/GlobalDns.java | 23 +- .../pulumi/rancher2/GlobalDnsProvider.java | 37 +- .../java/com/pulumi/rancher2/GlobalRole.java | 23 +- .../pulumi/rancher2/GlobalRoleBinding.java | 23 +- .../com/pulumi/rancher2/MachineConfigV2.java | 23 +- .../com/pulumi/rancher2/MultiClusterApp.java | 23 +- .../java/com/pulumi/rancher2/Namespace.java | 23 +- .../java/com/pulumi/rancher2/NodeDriver.java | 23 +- .../java/com/pulumi/rancher2/NodePool.java | 23 +- .../com/pulumi/rancher2/NodeTemplate.java | 23 +- .../java/com/pulumi/rancher2/Notifier.java | 23 +- ...ecurityAdmissionConfigurationTemplate.java | 23 +- .../rancher2/PodSecurityPolicyTemplate.java | 23 +- .../java/com/pulumi/rancher2/Project.java | 23 +- .../pulumi/rancher2/ProjectAlertGroup.java | 23 +- .../com/pulumi/rancher2/ProjectAlertRule.java | 23 +- .../rancher2/ProjectRoleTemplateBinding.java | 23 +- .../java/com/pulumi/rancher2/Provider.java | 17 +- .../pulumi/rancher2/Rancher2Functions.java | 56 +- .../java/com/pulumi/rancher2/Registry.java | 23 +- .../com/pulumi/rancher2/RoleTemplate.java | 23 +- .../main/java/com/pulumi/rancher2/Secret.java | 23 +- .../java/com/pulumi/rancher2/SecretV2.java | 23 +- .../java/com/pulumi/rancher2/Setting.java | 23 +- .../com/pulumi/rancher2/StorageClassV2.java | 23 +- .../main/java/com/pulumi/rancher2/Token.java | 23 +- .../main/java/com/pulumi/rancher2/User.java | 23 +- .../java/com/pulumi/rancher2/Utilities.java | 14 +- .../inputs/ClusterV2RkeConfigEtcdArgs.java | 8 +- .../outputs/ClusterV2RkeConfigEtcd.java | 4 +- .../outputs/GetClusterV2RkeConfigEtcd.java | 4 +- sdk/python/pulumi_rancher2/app.py | 28 +- .../pulumi_rancher2/cloud_credential.py | 126 +- sdk/python/pulumi_rancher2/cluster.py | 1178 ++++++++--------- .../pulumi_rancher2/cluster_alert_group.py | 10 +- .../pulumi_rancher2/cluster_alert_rule.py | 40 +- sdk/python/pulumi_rancher2/cluster_sync.py | 136 +- .../pulumi_rancher2/cluster_template.py | 204 +-- sdk/python/pulumi_rancher2/cluster_v2.py | 54 +- sdk/python/pulumi_rancher2/etcd_backup.py | 62 +- sdk/python/pulumi_rancher2/get_notifier.py | 16 +- .../get_pod_security_policy_template.py | 80 +- .../pulumi_rancher2/get_role_template.py | 8 +- sdk/python/pulumi_rancher2/global_dns.py | 48 +- .../pulumi_rancher2/global_dns_provider.py | 78 +- sdk/python/pulumi_rancher2/global_role.py | 30 +- .../pulumi_rancher2/machine_config_v2.py | 126 +- .../pulumi_rancher2/multi_cluster_app.py | 116 +- sdk/python/pulumi_rancher2/namespace.py | 144 +- sdk/python/pulumi_rancher2/node_pool.py | 10 +- sdk/python/pulumi_rancher2/node_template.py | 278 ++-- sdk/python/pulumi_rancher2/notifier.py | 86 +- ...curity_admission_configuration_template.py | 20 +- .../pod_security_policy_template.py | 100 +- sdk/python/pulumi_rancher2/project.py | 258 ++-- .../pulumi_rancher2/project_alert_group.py | 10 +- .../pulumi_rancher2/project_alert_rule.py | 102 +- sdk/python/pulumi_rancher2/registry.py | 50 +- sdk/python/pulumi_rancher2/role_template.py | 60 +- 96 files changed, 2628 insertions(+), 2247 deletions(-) diff --git a/.pulumi-java-gen.version b/.pulumi-java-gen.version index d33c3a212..0548fb4e9 100644 --- a/.pulumi-java-gen.version +++ b/.pulumi-java-gen.version @@ -1 +1 @@ -0.12.0 \ No newline at end of file +0.14.0 \ No newline at end of file diff --git a/examples/go.mod b/examples/go.mod index f1487c838..cd8e28a1f 100644 --- a/examples/go.mod +++ b/examples/go.mod @@ -2,7 +2,7 @@ module github.com/pulumi/pulumi-rancher2/examples/v6 go 1.21 -require github.com/pulumi/pulumi/pkg/v3 v3.126.0 +require github.com/pulumi/pulumi/pkg/v3 v3.128.0 require ( cloud.google.com/go v0.112.1 // indirect @@ -123,7 +123,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 // indirect github.com/pulumi/esc v0.9.1 // indirect - github.com/pulumi/pulumi/sdk/v3 v3.126.0 // indirect + github.com/pulumi/pulumi/sdk/v3 v3.128.0 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect diff --git a/examples/go.sum b/examples/go.sum index 8ef901170..01fb8a553 100644 --- a/examples/go.sum +++ b/examples/go.sum @@ -342,10 +342,10 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/pkg/v3 v3.126.0 h1:XaZU1ehjHN2I5ihkfwxK/UFMDiCDM9FSt2TBnbldAx4= -github.com/pulumi/pulumi/pkg/v3 v3.126.0/go.mod h1:1P4/oK9zceOJUm48QQl/TqjDN68lfsdnTR1FITTFddw= -github.com/pulumi/pulumi/sdk/v3 v3.126.0 h1:6GQVhwG2jgnG7wjRiWgrq0/sU39onctAiBcvTlqb20s= -github.com/pulumi/pulumi/sdk/v3 v3.126.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi/pkg/v3 v3.128.0 h1:K3qtJYjHg4DkA7LxknY/MoQZ+QHdHQDh/k2njjmjHXM= +github.com/pulumi/pulumi/pkg/v3 v3.128.0/go.mod h1:/spoJXy/mqQ8fBLgXBEbUrAnL7pHdfXOviIo5fZROEY= +github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= +github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/provider/cmd/pulumi-resource-rancher2/schema.json b/provider/cmd/pulumi-resource-rancher2/schema.json index 362277a4d..d58a3b4f5 100644 --- a/provider/cmd/pulumi-resource-rancher2/schema.json +++ b/provider/cmd/pulumi-resource-rancher2/schema.json @@ -21431,7 +21431,7 @@ }, "resources": { "rancher2:index/app:App": { - "description": "Provides a Rancher v2 app resource. This can be used to deploy apps within Rancher v2 projects.\n\nThis resource can also modify Rancher v2 apps in 3 ways:\n- `Update`: If `description`, `annotations` or `labels` arguments are modified the app will be updated. No new `revision_id` will be generated in Rancher.\n- `Upgrade`: If `answers`, `catalog_name`, `template_name`, `template_version` or `values_yaml` arguments are modified, the app will be upgraded. A new `revision_id` will be generated in Rancher.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n\nNote: In case of multiple resource modifications in a row, `rollback` has preference over `upgrade`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App\nconst foo = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App\nfoo = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\",\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App\n var foo = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App\n\t\t_, err := rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: pulumi.String(\"\u003cnamespace_name\u003e\"),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.Any(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.Any(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 App\n var foo = new App(\"foo\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App\n foo:\n type: rancher2:App\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: \u003cnamespace_name\u003e\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App in a new namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n description: \"Foo namespace\",\n projectId: \"\u003cproject_id\u003e\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n});\nconst fooApp = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: foo.id,\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App in a new namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n description=\"Foo namespace\",\n project_id=\"\u003cproject_id\u003e\",\n resource_quota=rancher2.NamespaceResourceQuotaArgs(\n limit=rancher2.NamespaceResourceQuotaLimitArgs(\n limits_cpu=\"100m\",\n limits_memory=\"100Mi\",\n requests_storage=\"1Gi\",\n ),\n ))\nfoo_app = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=foo.id,\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App in a new namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Foo namespace\",\n ProjectId = \"\u003cproject_id\u003e\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n });\n\n var fooApp = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = foo.Id,\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App in a new namespace\n\t\tfoo, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo namespace\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: foo.ID(),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.Any(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.Any(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 App in a new namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .description(\"Foo namespace\")\n .projectId(\"\u003cproject_id\u003e\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .build());\n\n var fooApp = new App(\"fooApp\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(foo.id())\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App in a new namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n description: Foo namespace\n projectId: \u003cproject_id\u003e\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n fooApp:\n type: rancher2:App\n name: foo\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: ${foo.id}\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApps can be imported using the app ID in the format `\u003cproject_id\u003e:\u003capp_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/app:App foo \u0026lt;PROJECT_ID_ID\u0026gt;:\u0026lt;APP_NAME\u0026gt;\n```\n", + "description": "Provides a Rancher v2 app resource. This can be used to deploy apps within Rancher v2 projects.\n\nThis resource can also modify Rancher v2 apps in 3 ways:\n- `Update`: If `description`, `annotations` or `labels` arguments are modified the app will be updated. No new `revision_id` will be generated in Rancher.\n- `Upgrade`: If `answers`, `catalog_name`, `template_name`, `template_version` or `values_yaml` arguments are modified, the app will be upgraded. A new `revision_id` will be generated in Rancher.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n\nNote: In case of multiple resource modifications in a row, `rollback` has preference over `upgrade`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App\nconst foo = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: \"\u003cnamespace_name\u003e\",\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App\nfoo = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=\"\u003cnamespace_name\u003e\",\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App\n var foo = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = \"\u003cnamespace_name\u003e\",\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App\n\t\t_, err := rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: pulumi.String(\"\u003cnamespace_name\u003e\"),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.Any(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.Any(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 App\n var foo = new App(\"foo\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(\"\u003cnamespace_name\u003e\")\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App\n foo:\n type: rancher2:App\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: \u003cnamespace_name\u003e\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 App in a new namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n description: \"Foo namespace\",\n projectId: \"\u003cproject_id\u003e\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n});\nconst fooApp = new rancher2.App(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n description: \"Foo app\",\n projectId: \"\u003cproject_id\u003e\",\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n targetNamespace: foo.id,\n answers: {\n ingress_host: \"test.xip.io\",\n foo: \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 App in a new namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n description=\"Foo namespace\",\n project_id=\"\u003cproject_id\u003e\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n })\nfoo_app = rancher2.App(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n description=\"Foo app\",\n project_id=\"\u003cproject_id\u003e\",\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n target_namespace=foo.id,\n answers={\n \"ingress_host\": \"test.xip.io\",\n \"foo\": \"bar\",\n \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 App in a new namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Foo namespace\",\n ProjectId = \"\u003cproject_id\u003e\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n });\n\n var fooApp = new Rancher2.App(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Description = \"Foo app\",\n ProjectId = \"\u003cproject_id\u003e\",\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n TargetNamespace = foo.Id,\n Answers = \n {\n { \"ingress_host\", \"test.xip.io\" },\n { \"foo\", \"bar\" },\n { \"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 App in a new namespace\n\t\tfoo, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo namespace\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewApp(ctx, \"foo\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Foo app\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tTargetNamespace: foo.ID(),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\"foo\": pulumi.Any(\"bar\"),\n\t\t\t\t\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\": pulumi.Any(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 App in a new namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .description(\"Foo namespace\")\n .projectId(\"\u003cproject_id\u003e\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .build());\n\n var fooApp = new App(\"fooApp\", AppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .description(\"Foo app\")\n .projectId(\"\u003cproject_id\u003e\")\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .targetNamespace(foo.id())\n .answers(Map.ofEntries(\n Map.entry(\"ingress_host\", \"test.xip.io\"),\n Map.entry(\"foo\", \"bar\"),\n Map.entry(\"ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect\", true)\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 App in a new namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n description: Foo namespace\n projectId: \u003cproject_id\u003e\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n fooApp:\n type: rancher2:App\n name: foo\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n description: Foo app\n projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n targetNamespace: ${foo.id}\n answers:\n ingress_host: test.xip.io\n foo: bar\n ingress.annotations.nginx.ingress.kubernetes.io/force-ssl-redirect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nApps can be imported using the app ID in the format `\u003cproject_id\u003e:\u003capp_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/app:App foo \u0026lt;PROJECT_ID_ID\u0026gt;:\u0026lt;APP_NAME\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -25628,7 +25628,7 @@ } }, "rancher2:index/cloudCredential:CloudCredential": { - "description": "Provides a Rancher v2 Cloud Credential resource. This can be used to create Cloud Credential for Rancher v2.2.x and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, openstack and vsphere credentials config are supported for Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cloud Credential\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cloud Credential\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs(\n access_key=\"\u003cAWS_ACCESS_KEY\u003e\",\n secret_key=\"\u003cAWS_SECRET_KEY\u003e\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cloud Credential\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cloud Credential\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cloud Credential\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cloud Credential\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs(\n cluster_id=foo_harvester.cluster_v1_id,\n cluster_type=\"imported\",\n kubeconfig_content=foo_harvester.kube_config,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Credential can be imported using the Cloud Credential ID and the Driver name.\n\nbash\n\n```sh\n$ pulumi import rancher2:index/cloudCredential:CloudCredential foo \u0026lt;CLOUD_CREDENTIAL_ID\u0026gt;.\u0026lt;DRIVER\u0026gt;\n```\n\nThe following drivers are supported:\n\n* amazonec2\n\n* azure\n\n* digitalocean\n\n* googlekubernetesengine\n\n* linode\n\n* openstack\n\n* s3\n\n* vmwarevsphere\n\n", + "description": "Provides a Rancher v2 Cloud Credential resource. This can be used to create Cloud Credential for Rancher v2.2.x and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, openstack and vsphere credentials config are supported for Cloud Credential.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cloud Credential\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cloud Credential\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cloud Credential\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cloud Credential\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cloud Credential\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cloud Credential\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCloud Credential can be imported using the Cloud Credential ID and the Driver name.\n\nbash\n\n```sh\n$ pulumi import rancher2:index/cloudCredential:CloudCredential foo \u0026lt;CLOUD_CREDENTIAL_ID\u0026gt;.\u0026lt;DRIVER\u0026gt;\n```\n\nThe following drivers are supported:\n\n* amazonec2\n\n* azure\n\n* digitalocean\n\n* googlekubernetesengine\n\n* linode\n\n* openstack\n\n* s3\n\n* vmwarevsphere\n\n", "properties": { "amazonec2CredentialConfig": { "$ref": "#/types/rancher2:index/CloudCredentialAmazonec2CredentialConfig:CloudCredentialAmazonec2CredentialConfig", @@ -25829,7 +25829,7 @@ } }, "rancher2:index/cluster:Cluster": { - "description": "Provides a Rancher v2 Cluster resource. This can be used to create Clusters for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n**Note optional/computed arguments** If any `optional/computed` argument of this resource is defined by the user, removing it from tf file will NOT reset its value. To reset it, let its definition at tf file as empty/false object. Ex: `enable_cluster_monitoring = false`, `cloud_provider {}`, `name = \"\"`\n\n### Creating Rancher v2 imported cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 imported Cluster\nconst foo_imported = new rancher2.Cluster(\"foo-imported\", {\n name: \"foo-imported\",\n description: \"Foo rancher2 imported cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 imported Cluster\nfoo_imported = rancher2.Cluster(\"foo-imported\",\n name=\"foo-imported\",\n description=\"Foo rancher2 imported cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 imported Cluster\n var foo_imported = new Rancher2.Cluster(\"foo-imported\", new()\n {\n Name = \"foo-imported\",\n Description = \"Foo rancher2 imported cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 imported Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-imported\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-imported\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 imported cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 imported Cluster\n var foo_imported = new Cluster(\"foo-imported\", ClusterArgs.builder()\n .name(\"foo-imported\")\n .description(\"Foo rancher2 imported cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 imported Cluster\n foo-imported:\n type: rancher2:Cluster\n properties:\n name: foo-imported\n description: Foo rancher2 imported cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster\n\n### Creating Rancher v2 RKE cluster enabling and customizing monitoring\n\n**Note** Cluster monitoring version `0.2.0` and above, can't be enabled until cluster is fully deployed as [`kubeVersion`](https://github.com/rancher/system-charts/blob/52be656700468904b9bf15c3f39cd7112e1f8c9b/charts/rancher-monitoring/v0.2.0/Chart.yaml#L12) requirement has been introduced to helm chart\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n enableClusterMonitoring: true,\n clusterMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version: \"0.1.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ),\n enable_cluster_monitoring=True,\n cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs(\n answers={\n \"exporter-kubelets.https\": True,\n \"exporter-node.enabled\": True,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": False,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version=\"0.1.0\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n EnableClusterMonitoring = true,\n ClusterMonitoringInput = new Rancher2.Inputs.ClusterClusterMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n Version = \"0.1.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableClusterMonitoring: pulumi.Bool(true),\n\t\t\tClusterMonitoringInput: \u0026rancher2.ClusterClusterMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t\tVersion: pulumi.String(\"0.1.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterMonitoringInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .enableClusterMonitoring(true)\n .clusterMonitoringInput(ClusterClusterMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .version(\"0.1.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n enableClusterMonitoring: true\n clusterMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n version: 0.1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster enabling/customizing monitoring and istio\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n enableClusterMonitoring: true,\n clusterMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version: \"0.1.0\",\n },\n});\n// Create a new rancher2 Cluster Sync for foo-custom cluster\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n waitMonitoring: foo_custom.enableClusterMonitoring,\n});\n// Create a new rancher2 Namespace\nconst foo_istio = new rancher2.Namespace(\"foo-istio\", {\n name: \"istio-system\",\n projectId: foo_customClusterSync.systemProjectId,\n description: \"istio namespace\",\n});\n// Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\nconst istio = new rancher2.App(\"istio\", {\n catalogName: \"system-library\",\n name: \"cluster-istio\",\n description: \"Terraform app acceptance test\",\n projectId: foo_istio.projectId,\n templateName: \"rancher-istio\",\n templateVersion: \"0.1.1\",\n targetNamespace: foo_istio.id,\n answers: {\n \"certmanager.enabled\": false,\n enableCRDs: true,\n \"galley.enabled\": true,\n \"gateways.enabled\": false,\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.monitoring.type\": \"cluster-monitoring\",\n \"global.rancher.clusterId\": foo_customClusterSync.clusterId,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": false,\n \"nodeagent.enabled\": false,\n \"pilot.enabled\": true,\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": true,\n \"sidecarInjectorWebhook.enabled\": true,\n \"tracing.enabled\": true,\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ),\n enable_cluster_monitoring=True,\n cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs(\n answers={\n \"exporter-kubelets.https\": True,\n \"exporter-node.enabled\": True,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": False,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version=\"0.1.0\",\n ))\n# Create a new rancher2 Cluster Sync for foo-custom cluster\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n wait_monitoring=foo_custom.enable_cluster_monitoring)\n# Create a new rancher2 Namespace\nfoo_istio = rancher2.Namespace(\"foo-istio\",\n name=\"istio-system\",\n project_id=foo_custom_cluster_sync.system_project_id,\n description=\"istio namespace\")\n# Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\nistio = rancher2.App(\"istio\",\n catalog_name=\"system-library\",\n name=\"cluster-istio\",\n description=\"Terraform app acceptance test\",\n project_id=foo_istio.project_id,\n template_name=\"rancher-istio\",\n template_version=\"0.1.1\",\n target_namespace=foo_istio.id,\n answers={\n \"certmanager.enabled\": False,\n \"enableCRDs\": True,\n \"galley.enabled\": True,\n \"gateways.enabled\": False,\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.monitoring.type\": \"cluster-monitoring\",\n \"global.rancher.clusterId\": foo_custom_cluster_sync.cluster_id,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": False,\n \"nodeagent.enabled\": False,\n \"pilot.enabled\": True,\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": True,\n \"sidecarInjectorWebhook.enabled\": True,\n \"tracing.enabled\": True,\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n EnableClusterMonitoring = true,\n ClusterMonitoringInput = new Rancher2.Inputs.ClusterClusterMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n Version = \"0.1.0\",\n },\n });\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n WaitMonitoring = foo_custom.EnableClusterMonitoring,\n });\n\n // Create a new rancher2 Namespace\n var foo_istio = new Rancher2.Namespace(\"foo-istio\", new()\n {\n Name = \"istio-system\",\n ProjectId = foo_customClusterSync.SystemProjectId,\n Description = \"istio namespace\",\n });\n\n // Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n var istio = new Rancher2.App(\"istio\", new()\n {\n CatalogName = \"system-library\",\n Name = \"cluster-istio\",\n Description = \"Terraform app acceptance test\",\n ProjectId = foo_istio.ProjectId,\n TemplateName = \"rancher-istio\",\n TemplateVersion = \"0.1.1\",\n TargetNamespace = foo_istio.Id,\n Answers = \n {\n { \"certmanager.enabled\", false },\n { \"enableCRDs\", true },\n { \"galley.enabled\", true },\n { \"gateways.enabled\", false },\n { \"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\" },\n { \"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\" },\n { \"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\" },\n { \"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\" },\n { \"gateways.istio-ingressgateway.type\", \"NodePort\" },\n { \"global.monitoring.type\", \"cluster-monitoring\" },\n { \"global.rancher.clusterId\", foo_customClusterSync.ClusterId },\n { \"istio_cni.enabled\", \"false\" },\n { \"istiocoredns.enabled\", \"false\" },\n { \"kiali.enabled\", \"true\" },\n { \"mixer.enabled\", \"true\" },\n { \"mixer.policy.enabled\", \"true\" },\n { \"mixer.policy.resources.limits.cpu\", \"4800m\" },\n { \"mixer.policy.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.policy.resources.requests.cpu\", \"1000m\" },\n { \"mixer.policy.resources.requests.memory\", \"1024Mi\" },\n { \"mixer.telemetry.resources.limits.cpu\", \"4800m\" },\n { \"mixer.telemetry.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.telemetry.resources.requests.cpu\", \"1000m\" },\n { \"mixer.telemetry.resources.requests.memory\", \"1024Mi\" },\n { \"mtls.enabled\", false },\n { \"nodeagent.enabled\", false },\n { \"pilot.enabled\", true },\n { \"pilot.resources.limits.cpu\", \"1000m\" },\n { \"pilot.resources.limits.memory\", \"4096Mi\" },\n { \"pilot.resources.requests.cpu\", \"500m\" },\n { \"pilot.resources.requests.memory\", \"2048Mi\" },\n { \"pilot.traceSampling\", \"1\" },\n { \"security.enabled\", true },\n { \"sidecarInjectorWebhook.enabled\", true },\n { \"tracing.enabled\", true },\n { \"tracing.jaeger.resources.limits.cpu\", \"500m\" },\n { \"tracing.jaeger.resources.limits.memory\", \"1024Mi\" },\n { \"tracing.jaeger.resources.requests.cpu\", \"100m\" },\n { \"tracing.jaeger.resources.requests.memory\", \"100Mi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableClusterMonitoring: pulumi.Bool(true),\n\t\t\tClusterMonitoringInput: \u0026rancher2.ClusterClusterMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t\tVersion: pulumi.String(\"0.1.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync for foo-custom cluster\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tWaitMonitoring: foo_custom.EnableClusterMonitoring,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo-istio\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"istio-system\"),\n\t\t\tProjectId: foo_customClusterSync.SystemProjectId,\n\t\t\tDescription: pulumi.String(\"istio namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n\t\t_, err = rancher2.NewApp(ctx, \"istio\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"system-library\"),\n\t\t\tName: pulumi.String(\"cluster-istio\"),\n\t\t\tDescription: pulumi.String(\"Terraform app acceptance test\"),\n\t\t\tProjectId: foo_istio.ProjectId,\n\t\t\tTemplateName: pulumi.String(\"rancher-istio\"),\n\t\t\tTemplateVersion: pulumi.String(\"0.1.1\"),\n\t\t\tTargetNamespace: foo_istio.ID(),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"certmanager.enabled\": pulumi.Any(false),\n\t\t\t\t\"enableCRDs\": pulumi.Any(true),\n\t\t\t\t\"galley.enabled\": pulumi.Any(true),\n\t\t\t\t\"gateways.enabled\": pulumi.Any(false),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.cpu\": pulumi.Any(\"2000m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.cpu\": pulumi.Any(\"100m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.memory\": pulumi.Any(\"128Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.type\": pulumi.Any(\"NodePort\"),\n\t\t\t\t\"global.monitoring.type\": pulumi.Any(\"cluster-monitoring\"),\n\t\t\t\t\"global.rancher.clusterId\": foo_customClusterSync.ClusterId,\n\t\t\t\t\"istio_cni.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\"istiocoredns.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\"kiali.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.policy.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.policy.resources.limits.cpu\": pulumi.Any(\"4800m\"),\n\t\t\t\t\"mixer.policy.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"mixer.policy.resources.requests.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"mixer.policy.resources.requests.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.cpu\": pulumi.Any(\"4800m\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"mtls.enabled\": pulumi.Any(false),\n\t\t\t\t\"nodeagent.enabled\": pulumi.Any(false),\n\t\t\t\t\"pilot.enabled\": pulumi.Any(true),\n\t\t\t\t\"pilot.resources.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"pilot.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"pilot.resources.requests.cpu\": pulumi.Any(\"500m\"),\n\t\t\t\t\"pilot.resources.requests.memory\": pulumi.Any(\"2048Mi\"),\n\t\t\t\t\"pilot.traceSampling\": pulumi.Any(\"1\"),\n\t\t\t\t\"security.enabled\": pulumi.Any(true),\n\t\t\t\t\"sidecarInjectorWebhook.enabled\": pulumi.Any(true),\n\t\t\t\t\"tracing.enabled\": pulumi.Any(true),\n\t\t\t\t\"tracing.jaeger.resources.limits.cpu\": pulumi.Any(\"500m\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.cpu\": pulumi.Any(\"100m\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.memory\": pulumi.Any(\"100Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterMonitoringInputArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .enableClusterMonitoring(true)\n .clusterMonitoringInput(ClusterClusterMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .version(\"0.1.0\")\n .build())\n .build());\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .waitMonitoring(foo_custom.enableClusterMonitoring())\n .build());\n\n // Create a new rancher2 Namespace\n var foo_istio = new Namespace(\"foo-istio\", NamespaceArgs.builder()\n .name(\"istio-system\")\n .projectId(foo_customClusterSync.systemProjectId())\n .description(\"istio namespace\")\n .build());\n\n // Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n var istio = new App(\"istio\", AppArgs.builder()\n .catalogName(\"system-library\")\n .name(\"cluster-istio\")\n .description(\"Terraform app acceptance test\")\n .projectId(foo_istio.projectId())\n .templateName(\"rancher-istio\")\n .templateVersion(\"0.1.1\")\n .targetNamespace(foo_istio.id())\n .answers(Map.ofEntries(\n Map.entry(\"certmanager.enabled\", false),\n Map.entry(\"enableCRDs\", true),\n Map.entry(\"galley.enabled\", true),\n Map.entry(\"gateways.enabled\", false),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.type\", \"NodePort\"),\n Map.entry(\"global.monitoring.type\", \"cluster-monitoring\"),\n Map.entry(\"global.rancher.clusterId\", foo_customClusterSync.clusterId()),\n Map.entry(\"istio_cni.enabled\", \"false\"),\n Map.entry(\"istiocoredns.enabled\", \"false\"),\n Map.entry(\"kiali.enabled\", \"true\"),\n Map.entry(\"mixer.enabled\", \"true\"),\n Map.entry(\"mixer.policy.enabled\", \"true\"),\n Map.entry(\"mixer.policy.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.policy.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.policy.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.policy.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mixer.telemetry.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.telemetry.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.telemetry.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.telemetry.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mtls.enabled\", false),\n Map.entry(\"nodeagent.enabled\", false),\n Map.entry(\"pilot.enabled\", true),\n Map.entry(\"pilot.resources.limits.cpu\", \"1000m\"),\n Map.entry(\"pilot.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"pilot.resources.requests.cpu\", \"500m\"),\n Map.entry(\"pilot.resources.requests.memory\", \"2048Mi\"),\n Map.entry(\"pilot.traceSampling\", \"1\"),\n Map.entry(\"security.enabled\", true),\n Map.entry(\"sidecarInjectorWebhook.enabled\", true),\n Map.entry(\"tracing.enabled\", true),\n Map.entry(\"tracing.jaeger.resources.limits.cpu\", \"500m\"),\n Map.entry(\"tracing.jaeger.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"tracing.jaeger.resources.requests.cpu\", \"100m\"),\n Map.entry(\"tracing.jaeger.resources.requests.memory\", \"100Mi\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n enableClusterMonitoring: true\n clusterMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n version: 0.1.0\n # Create a new rancher2 Cluster Sync for foo-custom cluster\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n waitMonitoring: ${[\"foo-custom\"].enableClusterMonitoring}\n # Create a new rancher2 Namespace\n foo-istio:\n type: rancher2:Namespace\n properties:\n name: istio-system\n projectId: ${[\"foo-customClusterSync\"].systemProjectId}\n description: istio namespace\n # Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n istio:\n type: rancher2:App\n properties:\n catalogName: system-library\n name: cluster-istio\n description: Terraform app acceptance test\n projectId: ${[\"foo-istio\"].projectId}\n templateName: rancher-istio\n templateVersion: 0.1.1\n targetNamespace: ${[\"foo-istio\"].id}\n answers:\n certmanager.enabled: false\n enableCRDs: true\n galley.enabled: true\n gateways.enabled: false\n gateways.istio-ingressgateway.resources.limits.cpu: 2000m\n gateways.istio-ingressgateway.resources.limits.memory: 1024Mi\n gateways.istio-ingressgateway.resources.requests.cpu: 100m\n gateways.istio-ingressgateway.resources.requests.memory: 128Mi\n gateways.istio-ingressgateway.type: NodePort\n global.monitoring.type: cluster-monitoring\n global.rancher.clusterId: ${[\"foo-customClusterSync\"].clusterId}\n istio_cni.enabled: 'false'\n istiocoredns.enabled: 'false'\n kiali.enabled: 'true'\n mixer.enabled: 'true'\n mixer.policy.enabled: 'true'\n mixer.policy.resources.limits.cpu: 4800m\n mixer.policy.resources.limits.memory: 4096Mi\n mixer.policy.resources.requests.cpu: 1000m\n mixer.policy.resources.requests.memory: 1024Mi\n mixer.telemetry.resources.limits.cpu: 4800m\n mixer.telemetry.resources.limits.memory: 4096Mi\n mixer.telemetry.resources.requests.cpu: 1000m\n mixer.telemetry.resources.requests.memory: 1024Mi\n mtls.enabled: false\n nodeagent.enabled: false\n pilot.enabled: true\n pilot.resources.limits.cpu: 1000m\n pilot.resources.limits.memory: 4096Mi\n pilot.resources.requests.cpu: 500m\n pilot.resources.requests.memory: 2048Mi\n pilot.traceSampling: '1'\n security.enabled: true\n sidecarInjectorWebhook.enabled: true\n tracing.enabled: true\n tracing.jaeger.resources.limits.cpu: 500m\n tracing.jaeger.resources.limits.memory: 1024Mi\n tracing.jaeger.resources.requests.cpu: 100m\n tracing.jaeger.resources.requests.memory: 100Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster assigning a node pool (overlapped planes)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ))\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs(\n access_key=\"\u003cAWS_ACCESS_KEY\u003e\",\n secret_key=\"\u003cAWS_SECRET_KEY\u003e\",\n ami=\"\u003cAMI_ID\u003e\",\n region=\"\u003cREGION\u003e\",\n security_groups=[\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnet_id=\"\u003cSUBNET_ID\u003e\",\n vpc_id=\"\u003cVPC_ID\u003e\",\n zone=\"\u003cZONE\u003e\",\n ))\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\t_, err = rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster from template. For Rancher v2.3.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Test cluster template v2\",\n});\n// Create a new rancher2 RKE Cluster from template\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n clusterTemplateId: foo.id,\n clusterTemplateRevisionId: foo.templateRevisions.apply(templateRevisions =\u003e templateRevisions[0].id),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[rancher2.ClusterTemplateMemberArgs(\n access_type=\"owner\",\n user_principal_id=\"local://user-XXXXX\",\n )],\n template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(\n name=\"V1\",\n cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(\n rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(\n network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(\n etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(\n creation=\"6h\",\n retention=\"24h\",\n ),\n ),\n ),\n ),\n default=True,\n )],\n description=\"Test cluster template v2\")\n# Create a new rancher2 RKE Cluster from template\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n cluster_template_id=foo.id,\n cluster_template_revision_id=foo.template_revisions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Test cluster template v2\",\n });\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n ClusterTemplateId = foo.Id,\n ClusterTemplateRevisionId = foo.TemplateRevisions.Apply(templateRevisions =\u003e templateRevisions[0].Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster template\n\t\tfoo, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Test cluster template v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 RKE Cluster from template\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterTemplateId: foo.ID(),\n\t\t\tClusterTemplateRevisionId: pulumi.String(foo.TemplateRevisions.ApplyT(func(templateRevisions []rancher2.ClusterTemplateTemplateRevision) (*string, error) {\n\t\t\t\treturn \u0026templateRevisions[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 cluster template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Test cluster template v2\")\n .build());\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .clusterTemplateId(foo.id())\n .clusterTemplateRevisionId(foo.templateRevisions().applyValue(templateRevisions -\u003e templateRevisions[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Test cluster template v2\n # Create a new rancher2 RKE Cluster from template\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n clusterTemplateId: ${foo.id}\n clusterTemplateRevisionId: ${foo.templateRevisions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n kubeApi: {\n auditLog: {\n enabled: true,\n configuration: {\n maxAge: 5,\n maxBackup: 5,\n maxSize: 100,\n path: \"-\",\n format: \"json\",\n policy: `apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`,\n },\n },\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n services=rancher2.ClusterRkeConfigServicesArgs(\n etcd=rancher2.ClusterRkeConfigServicesEtcdArgs(\n creation=\"6h\",\n retention=\"24h\",\n ),\n kube_api=rancher2.ClusterRkeConfigServicesKubeApiArgs(\n audit_log=rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs(\n enabled=True,\n configuration=rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs(\n max_age=5,\n max_backup=5,\n max_size=100,\n path=\"-\",\n format=\"json\",\n policy=\"\"\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\"\"\",\n ),\n ),\n ),\n ),\n upgrade_strategy=rancher2.ClusterRkeConfigUpgradeStrategyArgs(\n drain=True,\n max_unavailable_worker=\"20%\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n KubeApi = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiArgs\n {\n AuditLog = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs\n {\n Enabled = true,\n Configuration = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs\n {\n MaxAge = 5,\n MaxBackup = 5,\n MaxSize = 100,\n Path = \"-\",\n Format = \"json\",\n Policy = @\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\",\n },\n },\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t\tServices: \u0026rancher2.ClusterRkeConfigServicesArgs{\n\t\t\t\t\tEtcd: \u0026rancher2.ClusterRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t},\n\t\t\t\t\tKubeApi: \u0026rancher2.ClusterRkeConfigServicesKubeApiArgs{\n\t\t\t\t\t\tAuditLog: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tConfiguration: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs{\n\t\t\t\t\t\t\t\tMaxAge: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxBackup: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"-\"),\n\t\t\t\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t\t\t\t\tPolicy: pulumi.String(`apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigUpgradeStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterRkeConfigServicesArgs.builder()\n .etcd(ClusterRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .kubeApi(ClusterRkeConfigServicesKubeApiArgs.builder()\n .auditLog(ClusterRkeConfigServicesKubeApiAuditLogArgs.builder()\n .enabled(true)\n .configuration(ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs.builder()\n .maxAge(5)\n .maxBackup(5)\n .maxSize(100)\n .path(\"-\")\n .format(\"json\")\n .policy(\"\"\"\napiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .upgradeStrategy(ClusterRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform custom cluster\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n kubeApi:\n auditLog:\n enabled: true\n configuration:\n maxAge: 5\n maxBackup: 5\n maxSize: 100\n path: '-'\n format: json\n policy: |\n apiVersion: audit.k8s.io/v1\n kind: Policy\n metadata:\n creationTimestamp: null\n omitStages:\n - RequestReceived\n rules:\n - level: RequestResponse\n resources:\n - resources:\n - pods\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with agent customization\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n clusterAgentDeploymentCustomizations: [{\n appendTolerations: [{\n effect: \"NoSchedule\",\n key: \"tolerate/control-plane\",\n value: \"true\",\n }],\n overrideAffinity: `{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`,\n overrideResourceRequirements: [{\n cpuLimit: \"800\",\n cpuRequest: \"500\",\n memoryLimit: \"800\",\n memoryRequest: \"500\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with agent customization\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ),\n cluster_agent_deployment_customizations=[rancher2.ClusterClusterAgentDeploymentCustomizationArgs(\n append_tolerations=[rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs(\n effect=\"NoSchedule\",\n key=\"tolerate/control-plane\",\n value=\"true\",\n )],\n override_affinity=\"\"\"{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n\"\"\",\n override_resource_requirements=[rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs(\n cpu_limit=\"800\",\n cpu_request=\"500\",\n memory_limit=\"800\",\n memory_request=\"500\",\n )],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with agent customization\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n ClusterAgentDeploymentCustomizations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationArgs\n {\n AppendTolerations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs\n {\n Effect = \"NoSchedule\",\n Key = \"tolerate/control-plane\",\n Value = \"true\",\n },\n },\n OverrideAffinity = @\"{\n \"\"nodeAffinity\"\": {\n \"\"requiredDuringSchedulingIgnoredDuringExecution\"\": {\n \"\"nodeSelectorTerms\"\": [{\n \"\"matchExpressions\"\": [{\n \"\"key\"\": \"\"not.this/nodepool\"\",\n \"\"operator\"\": \"\"In\"\",\n \"\"values\"\": [\n \"\"true\"\"\n ]\n }]\n }]\n }\n }\n}\n\",\n OverrideResourceRequirements = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs\n {\n CpuLimit = \"800\",\n CpuRequest = \"500\",\n MemoryLimit = \"800\",\n MemoryRequest = \"500\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with agent customization\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterAgentDeploymentCustomizations: rancher2.ClusterClusterAgentDeploymentCustomizationArray{\n\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationArgs{\n\t\t\t\t\tAppendTolerations: rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs{\n\t\t\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"tolerate/control-plane\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrideAffinity: pulumi.String(`{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`),\n\t\t\t\t\tOverrideResourceRequirements: rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{\n\t\t\t\t\t\t\tCpuLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tCpuRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t\tMemoryLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tMemoryRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterAgentDeploymentCustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with agent customization\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .clusterAgentDeploymentCustomizations(ClusterClusterAgentDeploymentCustomizationArgs.builder()\n .appendTolerations(ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"tolerate/control-plane\")\n .value(\"true\")\n .build())\n .overrideAffinity(\"\"\"\n{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n \"\"\")\n .overrideResourceRequirements(ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()\n .cpuLimit(\"800\")\n .cpuRequest(\"500\")\n .memoryLimit(\"800\")\n .memoryRequest(\"500\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform cluster with agent customization\n rkeConfig:\n network:\n plugin: canal\n clusterAgentDeploymentCustomizations:\n - appendTolerations:\n - effect: NoSchedule\n key: tolerate/control-plane\n value: 'true'\n overrideAffinity: |\n {\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n }\n overrideResourceRequirements:\n - cpuLimit: '800'\n cpuRequest: '500'\n memoryLimit: '800'\n memoryRequest: '500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Custom PSACT (if you wish to use your own)\nconst foo = new rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", {\n name: \"custom-psact\",\n description: \"This is my custom Pod Security Admission Configuration Template\",\n defaults: {\n audit: \"restricted\",\n auditVersion: \"latest\",\n enforce: \"restricted\",\n enforceVersion: \"latest\",\n warn: \"restricted\",\n warnVersion: \"latest\",\n },\n exemptions: {\n usernames: [\"testuser\"],\n runtimeClasses: [\"testclass\"],\n namespaces: [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with PSACT\",\n defaultPodSecurityAdmissionConfigurationTemplateName: \"\u003cname\u003e\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Custom PSACT (if you wish to use your own)\nfoo = rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\",\n name=\"custom-psact\",\n description=\"This is my custom Pod Security Admission Configuration Template\",\n defaults=rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs(\n audit=\"restricted\",\n audit_version=\"latest\",\n enforce=\"restricted\",\n enforce_version=\"latest\",\n warn=\"restricted\",\n warn_version=\"latest\",\n ),\n exemptions=rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs(\n usernames=[\"testuser\"],\n runtime_classes=[\"testclass\"],\n namespaces=[\n \"ingress-nginx\",\n \"kube-system\",\n ],\n ))\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with PSACT\",\n default_pod_security_admission_configuration_template_name=\"\u003cname\u003e\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Custom PSACT (if you wish to use your own)\n var foo = new Rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", new()\n {\n Name = \"custom-psact\",\n Description = \"This is my custom Pod Security Admission Configuration Template\",\n Defaults = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs\n {\n Audit = \"restricted\",\n AuditVersion = \"latest\",\n Enforce = \"restricted\",\n EnforceVersion = \"latest\",\n Warn = \"restricted\",\n WarnVersion = \"latest\",\n },\n Exemptions = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs\n {\n Usernames = new[]\n {\n \"testuser\",\n },\n RuntimeClasses = new[]\n {\n \"testclass\",\n },\n Namespaces = new[]\n {\n \"ingress-nginx\",\n \"kube-system\",\n },\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with PSACT\",\n DefaultPodSecurityAdmissionConfigurationTemplateName = \"\u003cname\u003e\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Custom PSACT (if you wish to use your own)\n\t\t_, err := rancher2.NewPodSecurityAdmissionConfigurationTemplate(ctx, \"foo\", \u0026rancher2.PodSecurityAdmissionConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"custom-psact\"),\n\t\t\tDescription: pulumi.String(\"This is my custom Pod Security Admission Configuration Template\"),\n\t\t\tDefaults: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs{\n\t\t\t\tAudit: pulumi.String(\"restricted\"),\n\t\t\t\tAuditVersion: pulumi.String(\"latest\"),\n\t\t\t\tEnforce: pulumi.String(\"restricted\"),\n\t\t\t\tEnforceVersion: pulumi.String(\"latest\"),\n\t\t\t\tWarn: pulumi.String(\"restricted\"),\n\t\t\t\tWarnVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tExemptions: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs{\n\t\t\t\tUsernames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testuser\"),\n\t\t\t\t},\n\t\t\t\tRuntimeClasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testclass\"),\n\t\t\t\t},\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ingress-nginx\"),\n\t\t\t\t\tpulumi.String(\"kube-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with PSACT\"),\n\t\t\tDefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String(\"\u003cname\u003e\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplate;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplateArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Custom PSACT (if you wish to use your own)\n var foo = new PodSecurityAdmissionConfigurationTemplate(\"foo\", PodSecurityAdmissionConfigurationTemplateArgs.builder()\n .name(\"custom-psact\")\n .description(\"This is my custom Pod Security Admission Configuration Template\")\n .defaults(PodSecurityAdmissionConfigurationTemplateDefaultsArgs.builder()\n .audit(\"restricted\")\n .auditVersion(\"latest\")\n .enforce(\"restricted\")\n .enforceVersion(\"latest\")\n .warn(\"restricted\")\n .warnVersion(\"latest\")\n .build())\n .exemptions(PodSecurityAdmissionConfigurationTemplateExemptionsArgs.builder()\n .usernames(\"testuser\")\n .runtimeClasses(\"testclass\")\n .namespaces( \n \"ingress-nginx\",\n \"kube-system\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with PSACT\")\n .defaultPodSecurityAdmissionConfigurationTemplateName(\"\u003cname\u003e\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Custom PSACT (if you wish to use your own)\n foo:\n type: rancher2:PodSecurityAdmissionConfigurationTemplate\n properties:\n name: custom-psact\n description: This is my custom Pod Security Admission Configuration Template\n defaults:\n audit: restricted\n auditVersion: latest\n enforce: restricted\n enforceVersion: latest\n warn: restricted\n warnVersion: latest\n exemptions:\n usernames:\n - testuser\n runtimeClasses:\n - testclass\n namespaces:\n - ingress-nginx\n - kube-system\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform cluster with PSACT\n defaultPodSecurityAdmissionConfigurationTemplateName: \u003cname\u003e\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n name: \"\u003ccluster-name\u003e\",\n region: \"\u003ceks-region\u003e\",\n imported: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs(\n access_key=\"\u003caws-access-key\u003e\",\n secret_key=\"\u003caws-secret-key\u003e\",\n ))\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2=rancher2.ClusterEksConfigV2Args(\n cloud_credential_id=foo.id,\n name=\"\u003ccluster-name\u003e\",\n region=\"\u003ceks-region\u003e\",\n imported=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Name = \"\u003ccluster-name\u003e\",\n Region = \"\u003ceks-region\u003e\",\n Imported = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tName: pulumi.String(\"\u003ccluster-name\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003ceks-region\u003e\"),\n\t\t\t\tImported: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .name(\"\u003ccluster-name\u003e\")\n .region(\"\u003ceks-region\u003e\")\n .imported(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n name: \u003ccluster-name\u003e\n region: \u003ceks-region\u003e\n imported: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [\n {\n name: \"node_group1\",\n instanceType: \"t3.medium\",\n desiredSize: 3,\n maxSize: 5,\n },\n {\n name: \"node_group2\",\n instanceType: \"m5.xlarge\",\n desiredSize: 2,\n maxSize: 3,\n nodeRole: \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n privateAccess: true,\n publicAccess: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs(\n access_key=\"\u003caws-access-key\u003e\",\n secret_key=\"\u003caws-secret-key\u003e\",\n ))\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2=rancher2.ClusterEksConfigV2Args(\n cloud_credential_id=foo.id,\n region=\"\u003cEKS_REGION\u003e\",\n kubernetes_version=\"1.24\",\n logging_types=[\n \"audit\",\n \"api\",\n ],\n node_groups=[\n rancher2.ClusterEksConfigV2NodeGroupArgs(\n name=\"node_group1\",\n instance_type=\"t3.medium\",\n desired_size=3,\n max_size=5,\n ),\n rancher2.ClusterEksConfigV2NodeGroupArgs(\n name=\"node_group2\",\n instance_type=\"m5.xlarge\",\n desired_size=2,\n max_size=3,\n node_role=\"arn:aws:iam::role/test-NodeInstanceRole\",\n ),\n ],\n private_access=True,\n public_access=False,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group1\",\n InstanceType = \"t3.medium\",\n DesiredSize = 3,\n MaxSize = 5,\n },\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group2\",\n InstanceType = \"m5.xlarge\",\n DesiredSize = 2,\n MaxSize = 3,\n NodeRole = \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n },\n PrivateAccess = true,\n PublicAccess = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"t3.medium\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group2\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t\t\t\tMaxSize: pulumi.Int(3),\n\t\t\t\t\t\tNodeRole: pulumi.String(\"arn:aws:iam::role/test-NodeInstanceRole\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups( \n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group1\")\n .instanceType(\"t3.medium\")\n .desiredSize(3)\n .maxSize(5)\n .build(),\n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group2\")\n .instanceType(\"m5.xlarge\")\n .desiredSize(2)\n .maxSize(3)\n .nodeRole(\"arn:aws:iam::role/test-NodeInstanceRole\")\n .build())\n .privateAccess(true)\n .publicAccess(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - name: node_group1\n instanceType: t3.medium\n desiredSize: 3\n maxSize: 5\n - name: node_group2\n instanceType: m5.xlarge\n desiredSize: 2\n maxSize: 3\n nodeRole: arn:aws:iam::role/test-NodeInstanceRole\n privateAccess: true\n publicAccess: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above.\n\nNote: To use `launch_template` you must provide the ID (seen as `\u003cEC2_LAUNCH_TEMPLATE_ID\u003e`) to the template either as a static value. Or fetched via AWS data-source using one of: aws_ami first and provide the ID to that.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [{\n desiredSize: 3,\n maxSize: 5,\n name: \"node_group1\",\n launchTemplates: [{\n id: \"\u003cec2-launch-template-id\u003e\",\n version: 1,\n }],\n }],\n privateAccess: true,\n publicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs(\n access_key=\"\u003caws-access-key\u003e\",\n secret_key=\"\u003caws-secret-key\u003e\",\n ))\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2=rancher2.ClusterEksConfigV2Args(\n cloud_credential_id=foo.id,\n region=\"\u003cEKS_REGION\u003e\",\n kubernetes_version=\"1.24\",\n logging_types=[\n \"audit\",\n \"api\",\n ],\n node_groups=[rancher2.ClusterEksConfigV2NodeGroupArgs(\n desired_size=3,\n max_size=5,\n name=\"node_group1\",\n launch_templates=[rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs(\n id=\"\u003cec2-launch-template-id\u003e\",\n version=1,\n )],\n )],\n private_access=True,\n public_access=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n DesiredSize = 3,\n MaxSize = 5,\n Name = \"node_group1\",\n LaunchTemplates = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupLaunchTemplateArgs\n {\n Id = \"\u003cec2-launch-template-id\u003e\",\n Version = 1,\n },\n },\n },\n },\n PrivateAccess = true,\n PublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tLaunchTemplates: rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArray{\n\t\t\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"\u003cec2-launch-template-id\u003e\"),\n\t\t\t\t\t\t\t\tVersion: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups(ClusterEksConfigV2NodeGroupArgs.builder()\n .desiredSize(3)\n .maxSize(5)\n .name(\"node_group1\")\n .launchTemplates(ClusterEksConfigV2NodeGroupLaunchTemplateArgs.builder()\n .id(\"\u003cec2-launch-template-id\u003e\")\n .version(1)\n .build())\n .build())\n .privateAccess(true)\n .publicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - desiredSize: 3\n maxSize: 5\n name: node_group1\n launchTemplates:\n - id: \u003cec2-launch-template-id\u003e\n version: 1\n privateAccess: true\n publicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo_aks = new rancher2.CloudCredential(\"foo-aks\", {\n name: \"foo-aks\",\n azureCredentialConfig: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n subscriptionId: \"\u003csubscription-id\u003e\",\n },\n});\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform AKS cluster\",\n aksConfigV2: {\n cloudCredentialId: foo_aks.id,\n resourceGroup: \"\u003cresource-group\u003e\",\n resourceLocation: \"\u003cresource-location\u003e\",\n dnsPrefix: \"\u003cdns-prefix\u003e\",\n kubernetesVersion: \"1.24.6\",\n networkPlugin: \"\u003cnetwork-plugin\u003e\",\n virtualNetwork: \"\u003cvirtual-network\u003e\",\n virtualNetworkResourceGroup: \"\u003cvirtual-network-resource-group\u003e\",\n subnet: \"\u003csubnet\u003e\",\n nodeResourceGroup: \"\u003cnode-resource-group\u003e\",\n nodePools: [\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-1\u003e\",\n mode: \"System\",\n count: 1,\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n },\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-2\u003e\",\n count: 1,\n mode: \"User\",\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n maxSurge: \"25%\",\n labels: {\n test1: \"data1\",\n test2: \"data2\",\n },\n taints: [\"none:PreferNoSchedule\"],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_aks = rancher2.CloudCredential(\"foo-aks\",\n name=\"foo-aks\",\n azure_credential_config=rancher2.CloudCredentialAzureCredentialConfigArgs(\n client_id=\"\u003cclient-id\u003e\",\n client_secret=\"\u003cclient-secret\u003e\",\n subscription_id=\"\u003csubscription-id\u003e\",\n ))\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform AKS cluster\",\n aks_config_v2=rancher2.ClusterAksConfigV2Args(\n cloud_credential_id=foo_aks.id,\n resource_group=\"\u003cresource-group\u003e\",\n resource_location=\"\u003cresource-location\u003e\",\n dns_prefix=\"\u003cdns-prefix\u003e\",\n kubernetes_version=\"1.24.6\",\n network_plugin=\"\u003cnetwork-plugin\u003e\",\n virtual_network=\"\u003cvirtual-network\u003e\",\n virtual_network_resource_group=\"\u003cvirtual-network-resource-group\u003e\",\n subnet=\"\u003csubnet\u003e\",\n node_resource_group=\"\u003cnode-resource-group\u003e\",\n node_pools=[\n rancher2.ClusterAksConfigV2NodePoolArgs(\n availability_zones=[\n \"1\",\n \"2\",\n \"3\",\n ],\n name=\"\u003cnodepool-name-1\u003e\",\n mode=\"System\",\n count=1,\n orchestrator_version=\"1.21.2\",\n os_disk_size_gb=128,\n vm_size=\"Standard_DS2_v2\",\n ),\n rancher2.ClusterAksConfigV2NodePoolArgs(\n availability_zones=[\n \"1\",\n \"2\",\n \"3\",\n ],\n name=\"\u003cnodepool-name-2\u003e\",\n count=1,\n mode=\"User\",\n orchestrator_version=\"1.21.2\",\n os_disk_size_gb=128,\n vm_size=\"Standard_DS2_v2\",\n max_surge=\"25%\",\n labels={\n \"test1\": \"data1\",\n \"test2\": \"data2\",\n },\n taints=[\"none:PreferNoSchedule\"],\n ),\n ],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_aks = new Rancher2.CloudCredential(\"foo-aks\", new()\n {\n Name = \"foo-aks\",\n AzureCredentialConfig = new Rancher2.Inputs.CloudCredentialAzureCredentialConfigArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n SubscriptionId = \"\u003csubscription-id\u003e\",\n },\n });\n\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform AKS cluster\",\n AksConfigV2 = new Rancher2.Inputs.ClusterAksConfigV2Args\n {\n CloudCredentialId = foo_aks.Id,\n ResourceGroup = \"\u003cresource-group\u003e\",\n ResourceLocation = \"\u003cresource-location\u003e\",\n DnsPrefix = \"\u003cdns-prefix\u003e\",\n KubernetesVersion = \"1.24.6\",\n NetworkPlugin = \"\u003cnetwork-plugin\u003e\",\n VirtualNetwork = \"\u003cvirtual-network\u003e\",\n VirtualNetworkResourceGroup = \"\u003cvirtual-network-resource-group\u003e\",\n Subnet = \"\u003csubnet\u003e\",\n NodeResourceGroup = \"\u003cnode-resource-group\u003e\",\n NodePools = new[]\n {\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-1\u003e\",\n Mode = \"System\",\n Count = 1,\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n },\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-2\u003e\",\n Count = 1,\n Mode = \"User\",\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n MaxSurge = \"25%\",\n Labels = \n {\n { \"test1\", \"data1\" },\n { \"test2\", \"data2\" },\n },\n Taints = new[]\n {\n \"none:PreferNoSchedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo-aks\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-aks\"),\n\t\t\tAzureCredentialConfig: \u0026rancher2.CloudCredentialAzureCredentialConfigArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tSubscriptionId: pulumi.String(\"\u003csubscription-id\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform AKS cluster\"),\n\t\t\tAksConfigV2: \u0026rancher2.ClusterAksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo_aks.ID(),\n\t\t\t\tResourceGroup: pulumi.String(\"\u003cresource-group\u003e\"),\n\t\t\t\tResourceLocation: pulumi.String(\"\u003cresource-location\u003e\"),\n\t\t\t\tDnsPrefix: pulumi.String(\"\u003cdns-prefix\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24.6\"),\n\t\t\t\tNetworkPlugin: pulumi.String(\"\u003cnetwork-plugin\u003e\"),\n\t\t\t\tVirtualNetwork: pulumi.String(\"\u003cvirtual-network\u003e\"),\n\t\t\t\tVirtualNetworkResourceGroup: pulumi.String(\"\u003cvirtual-network-resource-group\u003e\"),\n\t\t\t\tSubnet: pulumi.String(\"\u003csubnet\u003e\"),\n\t\t\t\tNodeResourceGroup: pulumi.String(\"\u003cnode-resource-group\u003e\"),\n\t\t\t\tNodePools: rancher2.ClusterAksConfigV2NodePoolArray{\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-1\u003e\"),\n\t\t\t\t\t\tMode: pulumi.String(\"System\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-2\u003e\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tMode: pulumi.String(\"User\"),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t\tMaxSurge: pulumi.String(\"25%\"),\n\t\t\t\t\t\tLabels: pulumi.Map{\n\t\t\t\t\t\t\t\"test1\": pulumi.Any(\"data1\"),\n\t\t\t\t\t\t\t\"test2\": pulumi.Any(\"data2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTaints: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"none:PreferNoSchedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAzureCredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterAksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_aks = new CloudCredential(\"foo-aks\", CloudCredentialArgs.builder()\n .name(\"foo-aks\")\n .azureCredentialConfig(CloudCredentialAzureCredentialConfigArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .subscriptionId(\"\u003csubscription-id\u003e\")\n .build())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform AKS cluster\")\n .aksConfigV2(ClusterAksConfigV2Args.builder()\n .cloudCredentialId(foo_aks.id())\n .resourceGroup(\"\u003cresource-group\u003e\")\n .resourceLocation(\"\u003cresource-location\u003e\")\n .dnsPrefix(\"\u003cdns-prefix\u003e\")\n .kubernetesVersion(\"1.24.6\")\n .networkPlugin(\"\u003cnetwork-plugin\u003e\")\n .virtualNetwork(\"\u003cvirtual-network\u003e\")\n .virtualNetworkResourceGroup(\"\u003cvirtual-network-resource-group\u003e\")\n .subnet(\"\u003csubnet\u003e\")\n .nodeResourceGroup(\"\u003cnode-resource-group\u003e\")\n .nodePools( \n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-1\u003e\")\n .mode(\"System\")\n .count(1)\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .build(),\n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-2\u003e\")\n .count(1)\n .mode(\"User\")\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .maxSurge(\"25%\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"data1\"),\n Map.entry(\"test2\", \"data2\")\n ))\n .taints(\"none:PreferNoSchedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-aks:\n type: rancher2:CloudCredential\n properties:\n name: foo-aks\n azureCredentialConfig:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n subscriptionId: \u003csubscription-id\u003e\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform AKS cluster\n aksConfigV2:\n cloudCredentialId: ${[\"foo-aks\"].id}\n resourceGroup: \u003cresource-group\u003e\n resourceLocation: \u003cresource-location\u003e\n dnsPrefix: \u003cdns-prefix\u003e\n kubernetesVersion: 1.24.6\n networkPlugin: \u003cnetwork-plugin\u003e\n virtualNetwork: \u003cvirtual-network\u003e\n virtualNetworkResourceGroup: \u003cvirtual-network-resource-group\u003e\n subnet: \u003csubnet\u003e\n nodeResourceGroup: \u003cnode-resource-group\u003e\n nodePools:\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-1\u003e\n mode: System\n count: 1\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-2\u003e\n count: 1\n mode: User\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n maxSurge: 25%\n labels:\n test1: data1\n test2: data2\n taints:\n - none:PreferNoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the Rancher Cluster ID\n\n```sh\n$ pulumi import rancher2:index/cluster:Cluster foo \u0026lt;CLUSTER_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Cluster resource. This can be used to create Clusters for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n**Note optional/computed arguments** If any `optional/computed` argument of this resource is defined by the user, removing it from tf file will NOT reset its value. To reset it, let its definition at tf file as empty/false object. Ex: `enable_cluster_monitoring = false`, `cloud_provider {}`, `name = \"\"`\n\n### Creating Rancher v2 imported cluster\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 imported Cluster\nconst foo_imported = new rancher2.Cluster(\"foo-imported\", {\n name: \"foo-imported\",\n description: \"Foo rancher2 imported cluster\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 imported Cluster\nfoo_imported = rancher2.Cluster(\"foo-imported\",\n name=\"foo-imported\",\n description=\"Foo rancher2 imported cluster\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 imported Cluster\n var foo_imported = new Rancher2.Cluster(\"foo-imported\", new()\n {\n Name = \"foo-imported\",\n Description = \"Foo rancher2 imported cluster\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 imported Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-imported\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-imported\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 imported cluster\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 imported Cluster\n var foo_imported = new Cluster(\"foo-imported\", ClusterArgs.builder()\n .name(\"foo-imported\")\n .description(\"Foo rancher2 imported cluster\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 imported Cluster\n foo-imported:\n type: rancher2:Cluster\n properties:\n name: foo-imported\n description: Foo rancher2 imported cluster\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster\n\n### Creating Rancher v2 RKE cluster enabling and customizing monitoring\n\n**Note** Cluster monitoring version `0.2.0` and above, can't be enabled until cluster is fully deployed as [`kubeVersion`](https://github.com/rancher/system-charts/blob/52be656700468904b9bf15c3f39cd7112e1f8c9b/charts/rancher-monitoring/v0.2.0/Chart.yaml#L12) requirement has been introduced to helm chart\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n enableClusterMonitoring: true,\n clusterMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version: \"0.1.0\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n },\n enable_cluster_monitoring=True,\n cluster_monitoring_input={\n \"answers\": {\n \"exporter_kubelets_https\": True,\n \"exporter_node_enabled\": True,\n \"exporter_node_ports_metrics_port\": 9796,\n \"exporter_node_resources_limits_cpu\": \"200m\",\n \"exporter_node_resources_limits_memory\": \"200Mi\",\n \"grafana_persistence_enabled\": False,\n \"grafana_persistence_size\": \"10Gi\",\n \"grafana_persistence_storage_class\": \"default\",\n \"operator_resources_limits_memory\": \"500Mi\",\n \"prometheus_persistence_enabled\": \"false\",\n \"prometheus_persistence_size\": \"50Gi\",\n \"prometheus_persistence_storage_class\": \"default\",\n \"prometheus_persistent_use_release_name\": \"true\",\n \"prometheus_resources_core_limits_cpu\": \"1000m\",\n \"prometheus_resources_core_limits_memory\": \"1500Mi\",\n \"prometheus_resources_core_requests_cpu\": \"750m\",\n \"prometheus_resources_core_requests_memory\": \"750Mi\",\n \"prometheus_retention\": \"12h\",\n },\n \"version\": \"0.1.0\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n EnableClusterMonitoring = true,\n ClusterMonitoringInput = new Rancher2.Inputs.ClusterClusterMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n Version = \"0.1.0\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableClusterMonitoring: pulumi.Bool(true),\n\t\t\tClusterMonitoringInput: \u0026rancher2.ClusterClusterMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t\tVersion: pulumi.String(\"0.1.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterMonitoringInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .enableClusterMonitoring(true)\n .clusterMonitoringInput(ClusterClusterMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .version(\"0.1.0\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n enableClusterMonitoring: true\n clusterMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n version: 0.1.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster enabling/customizing monitoring and istio\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n enableClusterMonitoring: true,\n clusterMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n version: \"0.1.0\",\n },\n});\n// Create a new rancher2 Cluster Sync for foo-custom cluster\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n waitMonitoring: foo_custom.enableClusterMonitoring,\n});\n// Create a new rancher2 Namespace\nconst foo_istio = new rancher2.Namespace(\"foo-istio\", {\n name: \"istio-system\",\n projectId: foo_customClusterSync.systemProjectId,\n description: \"istio namespace\",\n});\n// Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\nconst istio = new rancher2.App(\"istio\", {\n catalogName: \"system-library\",\n name: \"cluster-istio\",\n description: \"Terraform app acceptance test\",\n projectId: foo_istio.projectId,\n templateName: \"rancher-istio\",\n templateVersion: \"0.1.1\",\n targetNamespace: foo_istio.id,\n answers: {\n \"certmanager.enabled\": false,\n enableCRDs: true,\n \"galley.enabled\": true,\n \"gateways.enabled\": false,\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.monitoring.type\": \"cluster-monitoring\",\n \"global.rancher.clusterId\": foo_customClusterSync.clusterId,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": false,\n \"nodeagent.enabled\": false,\n \"pilot.enabled\": true,\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": true,\n \"sidecarInjectorWebhook.enabled\": true,\n \"tracing.enabled\": true,\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n },\n enable_cluster_monitoring=True,\n cluster_monitoring_input={\n \"answers\": {\n \"exporter_kubelets_https\": True,\n \"exporter_node_enabled\": True,\n \"exporter_node_ports_metrics_port\": 9796,\n \"exporter_node_resources_limits_cpu\": \"200m\",\n \"exporter_node_resources_limits_memory\": \"200Mi\",\n \"grafana_persistence_enabled\": False,\n \"grafana_persistence_size\": \"10Gi\",\n \"grafana_persistence_storage_class\": \"default\",\n \"operator_resources_limits_memory\": \"500Mi\",\n \"prometheus_persistence_enabled\": \"false\",\n \"prometheus_persistence_size\": \"50Gi\",\n \"prometheus_persistence_storage_class\": \"default\",\n \"prometheus_persistent_use_release_name\": \"true\",\n \"prometheus_resources_core_limits_cpu\": \"1000m\",\n \"prometheus_resources_core_limits_memory\": \"1500Mi\",\n \"prometheus_resources_core_requests_cpu\": \"750m\",\n \"prometheus_resources_core_requests_memory\": \"750Mi\",\n \"prometheus_retention\": \"12h\",\n },\n \"version\": \"0.1.0\",\n })\n# Create a new rancher2 Cluster Sync for foo-custom cluster\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n wait_monitoring=foo_custom.enable_cluster_monitoring)\n# Create a new rancher2 Namespace\nfoo_istio = rancher2.Namespace(\"foo-istio\",\n name=\"istio-system\",\n project_id=foo_custom_cluster_sync.system_project_id,\n description=\"istio namespace\")\n# Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\nistio = rancher2.App(\"istio\",\n catalog_name=\"system-library\",\n name=\"cluster-istio\",\n description=\"Terraform app acceptance test\",\n project_id=foo_istio.project_id,\n template_name=\"rancher-istio\",\n template_version=\"0.1.1\",\n target_namespace=foo_istio.id,\n answers={\n \"certmanager.enabled\": False,\n \"enableCRDs\": True,\n \"galley.enabled\": True,\n \"gateways.enabled\": False,\n \"gateways.istio-ingressgateway.resources.limits.cpu\": \"2000m\",\n \"gateways.istio-ingressgateway.resources.limits.memory\": \"1024Mi\",\n \"gateways.istio-ingressgateway.resources.requests.cpu\": \"100m\",\n \"gateways.istio-ingressgateway.resources.requests.memory\": \"128Mi\",\n \"gateways.istio-ingressgateway.type\": \"NodePort\",\n \"global.monitoring.type\": \"cluster-monitoring\",\n \"global.rancher.clusterId\": foo_custom_cluster_sync.cluster_id,\n \"istio_cni.enabled\": \"false\",\n \"istiocoredns.enabled\": \"false\",\n \"kiali.enabled\": \"true\",\n \"mixer.enabled\": \"true\",\n \"mixer.policy.enabled\": \"true\",\n \"mixer.policy.resources.limits.cpu\": \"4800m\",\n \"mixer.policy.resources.limits.memory\": \"4096Mi\",\n \"mixer.policy.resources.requests.cpu\": \"1000m\",\n \"mixer.policy.resources.requests.memory\": \"1024Mi\",\n \"mixer.telemetry.resources.limits.cpu\": \"4800m\",\n \"mixer.telemetry.resources.limits.memory\": \"4096Mi\",\n \"mixer.telemetry.resources.requests.cpu\": \"1000m\",\n \"mixer.telemetry.resources.requests.memory\": \"1024Mi\",\n \"mtls.enabled\": False,\n \"nodeagent.enabled\": False,\n \"pilot.enabled\": True,\n \"pilot.resources.limits.cpu\": \"1000m\",\n \"pilot.resources.limits.memory\": \"4096Mi\",\n \"pilot.resources.requests.cpu\": \"500m\",\n \"pilot.resources.requests.memory\": \"2048Mi\",\n \"pilot.traceSampling\": \"1\",\n \"security.enabled\": True,\n \"sidecarInjectorWebhook.enabled\": True,\n \"tracing.enabled\": True,\n \"tracing.jaeger.resources.limits.cpu\": \"500m\",\n \"tracing.jaeger.resources.limits.memory\": \"1024Mi\",\n \"tracing.jaeger.resources.requests.cpu\": \"100m\",\n \"tracing.jaeger.resources.requests.memory\": \"100Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n EnableClusterMonitoring = true,\n ClusterMonitoringInput = new Rancher2.Inputs.ClusterClusterMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n Version = \"0.1.0\",\n },\n });\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n WaitMonitoring = foo_custom.EnableClusterMonitoring,\n });\n\n // Create a new rancher2 Namespace\n var foo_istio = new Rancher2.Namespace(\"foo-istio\", new()\n {\n Name = \"istio-system\",\n ProjectId = foo_customClusterSync.SystemProjectId,\n Description = \"istio namespace\",\n });\n\n // Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n var istio = new Rancher2.App(\"istio\", new()\n {\n CatalogName = \"system-library\",\n Name = \"cluster-istio\",\n Description = \"Terraform app acceptance test\",\n ProjectId = foo_istio.ProjectId,\n TemplateName = \"rancher-istio\",\n TemplateVersion = \"0.1.1\",\n TargetNamespace = foo_istio.Id,\n Answers = \n {\n { \"certmanager.enabled\", false },\n { \"enableCRDs\", true },\n { \"galley.enabled\", true },\n { \"gateways.enabled\", false },\n { \"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\" },\n { \"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\" },\n { \"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\" },\n { \"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\" },\n { \"gateways.istio-ingressgateway.type\", \"NodePort\" },\n { \"global.monitoring.type\", \"cluster-monitoring\" },\n { \"global.rancher.clusterId\", foo_customClusterSync.ClusterId },\n { \"istio_cni.enabled\", \"false\" },\n { \"istiocoredns.enabled\", \"false\" },\n { \"kiali.enabled\", \"true\" },\n { \"mixer.enabled\", \"true\" },\n { \"mixer.policy.enabled\", \"true\" },\n { \"mixer.policy.resources.limits.cpu\", \"4800m\" },\n { \"mixer.policy.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.policy.resources.requests.cpu\", \"1000m\" },\n { \"mixer.policy.resources.requests.memory\", \"1024Mi\" },\n { \"mixer.telemetry.resources.limits.cpu\", \"4800m\" },\n { \"mixer.telemetry.resources.limits.memory\", \"4096Mi\" },\n { \"mixer.telemetry.resources.requests.cpu\", \"1000m\" },\n { \"mixer.telemetry.resources.requests.memory\", \"1024Mi\" },\n { \"mtls.enabled\", false },\n { \"nodeagent.enabled\", false },\n { \"pilot.enabled\", true },\n { \"pilot.resources.limits.cpu\", \"1000m\" },\n { \"pilot.resources.limits.memory\", \"4096Mi\" },\n { \"pilot.resources.requests.cpu\", \"500m\" },\n { \"pilot.resources.requests.memory\", \"2048Mi\" },\n { \"pilot.traceSampling\", \"1\" },\n { \"security.enabled\", true },\n { \"sidecarInjectorWebhook.enabled\", true },\n { \"tracing.enabled\", true },\n { \"tracing.jaeger.resources.limits.cpu\", \"500m\" },\n { \"tracing.jaeger.resources.limits.memory\", \"1024Mi\" },\n { \"tracing.jaeger.resources.requests.cpu\", \"100m\" },\n { \"tracing.jaeger.resources.requests.memory\", \"100Mi\" },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnableClusterMonitoring: pulumi.Bool(true),\n\t\t\tClusterMonitoringInput: \u0026rancher2.ClusterClusterMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t\tVersion: pulumi.String(\"0.1.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync for foo-custom cluster\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tWaitMonitoring: foo_custom.EnableClusterMonitoring,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo-istio\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"istio-system\"),\n\t\t\tProjectId: foo_customClusterSync.SystemProjectId,\n\t\t\tDescription: pulumi.String(\"istio namespace\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n\t\t_, err = rancher2.NewApp(ctx, \"istio\", \u0026rancher2.AppArgs{\n\t\t\tCatalogName: pulumi.String(\"system-library\"),\n\t\t\tName: pulumi.String(\"cluster-istio\"),\n\t\t\tDescription: pulumi.String(\"Terraform app acceptance test\"),\n\t\t\tProjectId: foo_istio.ProjectId,\n\t\t\tTemplateName: pulumi.String(\"rancher-istio\"),\n\t\t\tTemplateVersion: pulumi.String(\"0.1.1\"),\n\t\t\tTargetNamespace: foo_istio.ID(),\n\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\"certmanager.enabled\": pulumi.Any(false),\n\t\t\t\t\"enableCRDs\": pulumi.Any(true),\n\t\t\t\t\"galley.enabled\": pulumi.Any(true),\n\t\t\t\t\"gateways.enabled\": pulumi.Any(false),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.cpu\": pulumi.Any(\"2000m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.limits.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.cpu\": pulumi.Any(\"100m\"),\n\t\t\t\t\"gateways.istio-ingressgateway.resources.requests.memory\": pulumi.Any(\"128Mi\"),\n\t\t\t\t\"gateways.istio-ingressgateway.type\": pulumi.Any(\"NodePort\"),\n\t\t\t\t\"global.monitoring.type\": pulumi.Any(\"cluster-monitoring\"),\n\t\t\t\t\"global.rancher.clusterId\": foo_customClusterSync.ClusterId,\n\t\t\t\t\"istio_cni.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\"istiocoredns.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\"kiali.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.policy.enabled\": pulumi.Any(\"true\"),\n\t\t\t\t\"mixer.policy.resources.limits.cpu\": pulumi.Any(\"4800m\"),\n\t\t\t\t\"mixer.policy.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"mixer.policy.resources.requests.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"mixer.policy.resources.requests.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.cpu\": pulumi.Any(\"4800m\"),\n\t\t\t\t\"mixer.telemetry.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"mixer.telemetry.resources.requests.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"mtls.enabled\": pulumi.Any(false),\n\t\t\t\t\"nodeagent.enabled\": pulumi.Any(false),\n\t\t\t\t\"pilot.enabled\": pulumi.Any(true),\n\t\t\t\t\"pilot.resources.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\"pilot.resources.limits.memory\": pulumi.Any(\"4096Mi\"),\n\t\t\t\t\"pilot.resources.requests.cpu\": pulumi.Any(\"500m\"),\n\t\t\t\t\"pilot.resources.requests.memory\": pulumi.Any(\"2048Mi\"),\n\t\t\t\t\"pilot.traceSampling\": pulumi.Any(\"1\"),\n\t\t\t\t\"security.enabled\": pulumi.Any(true),\n\t\t\t\t\"sidecarInjectorWebhook.enabled\": pulumi.Any(true),\n\t\t\t\t\"tracing.enabled\": pulumi.Any(true),\n\t\t\t\t\"tracing.jaeger.resources.limits.cpu\": pulumi.Any(\"500m\"),\n\t\t\t\t\"tracing.jaeger.resources.limits.memory\": pulumi.Any(\"1024Mi\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.cpu\": pulumi.Any(\"100m\"),\n\t\t\t\t\"tracing.jaeger.resources.requests.memory\": pulumi.Any(\"100Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterMonitoringInputArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.App;\nimport com.pulumi.rancher2.AppArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .enableClusterMonitoring(true)\n .clusterMonitoringInput(ClusterClusterMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .version(\"0.1.0\")\n .build())\n .build());\n\n // Create a new rancher2 Cluster Sync for foo-custom cluster\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .waitMonitoring(foo_custom.enableClusterMonitoring())\n .build());\n\n // Create a new rancher2 Namespace\n var foo_istio = new Namespace(\"foo-istio\", NamespaceArgs.builder()\n .name(\"istio-system\")\n .projectId(foo_customClusterSync.systemProjectId())\n .description(\"istio namespace\")\n .build());\n\n // Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n var istio = new App(\"istio\", AppArgs.builder()\n .catalogName(\"system-library\")\n .name(\"cluster-istio\")\n .description(\"Terraform app acceptance test\")\n .projectId(foo_istio.projectId())\n .templateName(\"rancher-istio\")\n .templateVersion(\"0.1.1\")\n .targetNamespace(foo_istio.id())\n .answers(Map.ofEntries(\n Map.entry(\"certmanager.enabled\", false),\n Map.entry(\"enableCRDs\", true),\n Map.entry(\"galley.enabled\", true),\n Map.entry(\"gateways.enabled\", false),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.cpu\", \"2000m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.cpu\", \"100m\"),\n Map.entry(\"gateways.istio-ingressgateway.resources.requests.memory\", \"128Mi\"),\n Map.entry(\"gateways.istio-ingressgateway.type\", \"NodePort\"),\n Map.entry(\"global.monitoring.type\", \"cluster-monitoring\"),\n Map.entry(\"global.rancher.clusterId\", foo_customClusterSync.clusterId()),\n Map.entry(\"istio_cni.enabled\", \"false\"),\n Map.entry(\"istiocoredns.enabled\", \"false\"),\n Map.entry(\"kiali.enabled\", \"true\"),\n Map.entry(\"mixer.enabled\", \"true\"),\n Map.entry(\"mixer.policy.enabled\", \"true\"),\n Map.entry(\"mixer.policy.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.policy.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.policy.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.policy.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mixer.telemetry.resources.limits.cpu\", \"4800m\"),\n Map.entry(\"mixer.telemetry.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"mixer.telemetry.resources.requests.cpu\", \"1000m\"),\n Map.entry(\"mixer.telemetry.resources.requests.memory\", \"1024Mi\"),\n Map.entry(\"mtls.enabled\", false),\n Map.entry(\"nodeagent.enabled\", false),\n Map.entry(\"pilot.enabled\", true),\n Map.entry(\"pilot.resources.limits.cpu\", \"1000m\"),\n Map.entry(\"pilot.resources.limits.memory\", \"4096Mi\"),\n Map.entry(\"pilot.resources.requests.cpu\", \"500m\"),\n Map.entry(\"pilot.resources.requests.memory\", \"2048Mi\"),\n Map.entry(\"pilot.traceSampling\", \"1\"),\n Map.entry(\"security.enabled\", true),\n Map.entry(\"sidecarInjectorWebhook.enabled\", true),\n Map.entry(\"tracing.enabled\", true),\n Map.entry(\"tracing.jaeger.resources.limits.cpu\", \"500m\"),\n Map.entry(\"tracing.jaeger.resources.limits.memory\", \"1024Mi\"),\n Map.entry(\"tracing.jaeger.resources.requests.cpu\", \"100m\"),\n Map.entry(\"tracing.jaeger.resources.requests.memory\", \"100Mi\")\n ))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n enableClusterMonitoring: true\n clusterMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n version: 0.1.0\n # Create a new rancher2 Cluster Sync for foo-custom cluster\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n waitMonitoring: ${[\"foo-custom\"].enableClusterMonitoring}\n # Create a new rancher2 Namespace\n foo-istio:\n type: rancher2:Namespace\n properties:\n name: istio-system\n projectId: ${[\"foo-customClusterSync\"].systemProjectId}\n description: istio namespace\n # Create a new rancher2 App deploying istio (should wait until monitoring is up and running)\n istio:\n type: rancher2:App\n properties:\n catalogName: system-library\n name: cluster-istio\n description: Terraform app acceptance test\n projectId: ${[\"foo-istio\"].projectId}\n templateName: rancher-istio\n templateVersion: 0.1.1\n targetNamespace: ${[\"foo-istio\"].id}\n answers:\n certmanager.enabled: false\n enableCRDs: true\n galley.enabled: true\n gateways.enabled: false\n gateways.istio-ingressgateway.resources.limits.cpu: 2000m\n gateways.istio-ingressgateway.resources.limits.memory: 1024Mi\n gateways.istio-ingressgateway.resources.requests.cpu: 100m\n gateways.istio-ingressgateway.resources.requests.memory: 128Mi\n gateways.istio-ingressgateway.type: NodePort\n global.monitoring.type: cluster-monitoring\n global.rancher.clusterId: ${[\"foo-customClusterSync\"].clusterId}\n istio_cni.enabled: 'false'\n istiocoredns.enabled: 'false'\n kiali.enabled: 'true'\n mixer.enabled: 'true'\n mixer.policy.enabled: 'true'\n mixer.policy.resources.limits.cpu: 4800m\n mixer.policy.resources.limits.memory: 4096Mi\n mixer.policy.resources.requests.cpu: 1000m\n mixer.policy.resources.requests.memory: 1024Mi\n mixer.telemetry.resources.limits.cpu: 4800m\n mixer.telemetry.resources.limits.memory: 4096Mi\n mixer.telemetry.resources.requests.cpu: 1000m\n mixer.telemetry.resources.requests.memory: 1024Mi\n mtls.enabled: false\n nodeagent.enabled: false\n pilot.enabled: true\n pilot.resources.limits.cpu: 1000m\n pilot.resources.limits.memory: 4096Mi\n pilot.resources.requests.cpu: 500m\n pilot.resources.requests.memory: 2048Mi\n pilot.traceSampling: '1'\n security.enabled: true\n sidecarInjectorWebhook.enabled: true\n tracing.enabled: true\n tracing.jaeger.resources.limits.cpu: 500m\n tracing.jaeger.resources.limits.memory: 1024Mi\n tracing.jaeger.resources.requests.cpu: 100m\n tracing.jaeger.resources.requests.memory: 100Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster assigning a node pool (overlapped planes)\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 RKE Cluster\nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 RKE Cluster\nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 RKE Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\t_, err = rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 RKE Cluster\n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 RKE Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster from template. For Rancher v2.3.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Test cluster template v2\",\n});\n// Create a new rancher2 RKE Cluster from template\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n clusterTemplateId: foo.id,\n clusterTemplateRevisionId: foo.templateRevisions.apply(templateRevisions =\u003e templateRevisions[0].id),\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Test cluster template v2\")\n# Create a new rancher2 RKE Cluster from template\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n cluster_template_id=foo.id,\n cluster_template_revision_id=foo.template_revisions[0].id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Test cluster template v2\",\n });\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n ClusterTemplateId = foo.Id,\n ClusterTemplateRevisionId = foo.TemplateRevisions.Apply(templateRevisions =\u003e templateRevisions[0].Id),\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster template\n\t\tfoo, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Test cluster template v2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 RKE Cluster from template\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterTemplateId: foo.ID(),\n\t\t\tClusterTemplateRevisionId: pulumi.String(foo.TemplateRevisions.ApplyT(func(templateRevisions []rancher2.ClusterTemplateTemplateRevision) (*string, error) {\n\t\t\t\treturn \u0026templateRevisions[0].Id, nil\n\t\t\t}).(pulumi.StringPtrOutput)),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 cluster template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Test cluster template v2\")\n .build());\n\n // Create a new rancher2 RKE Cluster from template\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .clusterTemplateId(foo.id())\n .clusterTemplateRevisionId(foo.templateRevisions().applyValue(templateRevisions -\u003e templateRevisions[0].id()))\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Test cluster template v2\n # Create a new rancher2 RKE Cluster from template\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n clusterTemplateId: ${foo.id}\n clusterTemplateRevisionId: ${foo.templateRevisions[0].id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n kubeApi: {\n auditLog: {\n enabled: true,\n configuration: {\n maxAge: 5,\n maxBackup: 5,\n maxSize: 100,\n path: \"-\",\n format: \"json\",\n policy: `apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`,\n },\n },\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n \"kube_api\": {\n \"audit_log\": {\n \"enabled\": True,\n \"configuration\": {\n \"max_age\": 5,\n \"max_backup\": 5,\n \"max_size\": 100,\n \"path\": \"-\",\n \"format\": \"json\",\n \"policy\": \"\"\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\"\"\",\n },\n },\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n KubeApi = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiArgs\n {\n AuditLog = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs\n {\n Enabled = true,\n Configuration = new Rancher2.Inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs\n {\n MaxAge = 5,\n MaxBackup = 5,\n MaxSize = 100,\n Path = \"-\",\n Format = \"json\",\n Policy = @\"apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n\",\n },\n },\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t\tServices: \u0026rancher2.ClusterRkeConfigServicesArgs{\n\t\t\t\t\tEtcd: \u0026rancher2.ClusterRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t},\n\t\t\t\t\tKubeApi: \u0026rancher2.ClusterRkeConfigServicesKubeApiArgs{\n\t\t\t\t\t\tAuditLog: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs{\n\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\tConfiguration: \u0026rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs{\n\t\t\t\t\t\t\t\tMaxAge: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxBackup: pulumi.Int(5),\n\t\t\t\t\t\t\t\tMaxSize: pulumi.Int(100),\n\t\t\t\t\t\t\t\tPath: pulumi.String(\"-\"),\n\t\t\t\t\t\t\t\tFormat: pulumi.String(\"json\"),\n\t\t\t\t\t\t\t\tPolicy: pulumi.String(`apiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n`),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigUpgradeStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterRkeConfigServicesArgs.builder()\n .etcd(ClusterRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .kubeApi(ClusterRkeConfigServicesKubeApiArgs.builder()\n .auditLog(ClusterRkeConfigServicesKubeApiAuditLogArgs.builder()\n .enabled(true)\n .configuration(ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs.builder()\n .maxAge(5)\n .maxBackup(5)\n .maxSize(100)\n .path(\"-\")\n .format(\"json\")\n .policy(\"\"\"\napiVersion: audit.k8s.io/v1\nkind: Policy\nmetadata:\n creationTimestamp: null\nomitStages:\n- RequestReceived\nrules:\n- level: RequestResponse\n resources:\n - resources:\n - pods\n \"\"\")\n .build())\n .build())\n .build())\n .build())\n .upgradeStrategy(ClusterRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform custom cluster\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n kubeApi:\n auditLog:\n enabled: true\n configuration:\n maxAge: 5\n maxBackup: 5\n maxSize: 100\n path: '-'\n format: json\n policy: |\n apiVersion: audit.k8s.io/v1\n kind: Policy\n metadata:\n creationTimestamp: null\n omitStages:\n - RequestReceived\n rules:\n - level: RequestResponse\n resources:\n - resources:\n - pods\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with agent customization\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n clusterAgentDeploymentCustomizations: [{\n appendTolerations: [{\n effect: \"NoSchedule\",\n key: \"tolerate/control-plane\",\n value: \"true\",\n }],\n overrideAffinity: `{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`,\n overrideResourceRequirements: [{\n cpuLimit: \"800\",\n cpuRequest: \"500\",\n memoryLimit: \"800\",\n memoryRequest: \"500\",\n }],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with agent customization\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n },\n cluster_agent_deployment_customizations=[{\n \"append_tolerations\": [{\n \"effect\": \"NoSchedule\",\n \"key\": \"tolerate/control-plane\",\n \"value\": \"true\",\n }],\n \"override_affinity\": \"\"\"{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n\"\"\",\n \"override_resource_requirements\": [{\n \"cpu_limit\": \"800\",\n \"cpu_request\": \"500\",\n \"memory_limit\": \"800\",\n \"memory_request\": \"500\",\n }],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with agent customization\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n ClusterAgentDeploymentCustomizations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationArgs\n {\n AppendTolerations = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs\n {\n Effect = \"NoSchedule\",\n Key = \"tolerate/control-plane\",\n Value = \"true\",\n },\n },\n OverrideAffinity = @\"{\n \"\"nodeAffinity\"\": {\n \"\"requiredDuringSchedulingIgnoredDuringExecution\"\": {\n \"\"nodeSelectorTerms\"\": [{\n \"\"matchExpressions\"\": [{\n \"\"key\"\": \"\"not.this/nodepool\"\",\n \"\"operator\"\": \"\"In\"\",\n \"\"values\"\": [\n \"\"true\"\"\n ]\n }]\n }]\n }\n }\n}\n\",\n OverrideResourceRequirements = new[]\n {\n new Rancher2.Inputs.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs\n {\n CpuLimit = \"800\",\n CpuRequest = \"500\",\n MemoryLimit = \"800\",\n MemoryRequest = \"500\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with agent customization\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterAgentDeploymentCustomizations: rancher2.ClusterClusterAgentDeploymentCustomizationArray{\n\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationArgs{\n\t\t\t\t\tAppendTolerations: rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs{\n\t\t\t\t\t\t\tEffect: pulumi.String(\"NoSchedule\"),\n\t\t\t\t\t\t\tKey: pulumi.String(\"tolerate/control-plane\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"true\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tOverrideAffinity: pulumi.String(`{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n`),\n\t\t\t\t\tOverrideResourceRequirements: rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArray{\n\t\t\t\t\t\t\u0026rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs{\n\t\t\t\t\t\t\tCpuLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tCpuRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t\tMemoryLimit: pulumi.String(\"800\"),\n\t\t\t\t\t\t\tMemoryRequest: pulumi.String(\"500\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterClusterAgentDeploymentCustomizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with agent customization\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .clusterAgentDeploymentCustomizations(ClusterClusterAgentDeploymentCustomizationArgs.builder()\n .appendTolerations(ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs.builder()\n .effect(\"NoSchedule\")\n .key(\"tolerate/control-plane\")\n .value(\"true\")\n .build())\n .overrideAffinity(\"\"\"\n{\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n}\n \"\"\")\n .overrideResourceRequirements(ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs.builder()\n .cpuLimit(\"800\")\n .cpuRequest(\"500\")\n .memoryLimit(\"800\")\n .memoryRequest(\"500\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform cluster with agent customization\n rkeConfig:\n network:\n plugin: canal\n clusterAgentDeploymentCustomizations:\n - appendTolerations:\n - effect: NoSchedule\n key: tolerate/control-plane\n value: 'true'\n overrideAffinity: |\n {\n \"nodeAffinity\": {\n \"requiredDuringSchedulingIgnoredDuringExecution\": {\n \"nodeSelectorTerms\": [{\n \"matchExpressions\": [{\n \"key\": \"not.this/nodepool\",\n \"operator\": \"In\",\n \"values\": [\n \"true\"\n ]\n }]\n }]\n }\n }\n }\n overrideResourceRequirements:\n - cpuLimit: '800'\n cpuRequest: '500'\n memoryLimit: '800'\n memoryRequest: '500'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Custom PSACT (if you wish to use your own)\nconst foo = new rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", {\n name: \"custom-psact\",\n description: \"This is my custom Pod Security Admission Configuration Template\",\n defaults: {\n audit: \"restricted\",\n auditVersion: \"latest\",\n enforce: \"restricted\",\n enforceVersion: \"latest\",\n warn: \"restricted\",\n warnVersion: \"latest\",\n },\n exemptions: {\n usernames: [\"testuser\"],\n runtimeClasses: [\"testclass\"],\n namespaces: [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform cluster with PSACT\",\n defaultPodSecurityAdmissionConfigurationTemplateName: \"\u003cname\u003e\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Custom PSACT (if you wish to use your own)\nfoo = rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\",\n name=\"custom-psact\",\n description=\"This is my custom Pod Security Admission Configuration Template\",\n defaults={\n \"audit\": \"restricted\",\n \"audit_version\": \"latest\",\n \"enforce\": \"restricted\",\n \"enforce_version\": \"latest\",\n \"warn\": \"restricted\",\n \"warn_version\": \"latest\",\n },\n exemptions={\n \"usernames\": [\"testuser\"],\n \"runtime_classes\": [\"testclass\"],\n \"namespaces\": [\n \"ingress-nginx\",\n \"kube-system\",\n ],\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform cluster with PSACT\",\n default_pod_security_admission_configuration_template_name=\"\u003cname\u003e\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Custom PSACT (if you wish to use your own)\n var foo = new Rancher2.PodSecurityAdmissionConfigurationTemplate(\"foo\", new()\n {\n Name = \"custom-psact\",\n Description = \"This is my custom Pod Security Admission Configuration Template\",\n Defaults = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs\n {\n Audit = \"restricted\",\n AuditVersion = \"latest\",\n Enforce = \"restricted\",\n EnforceVersion = \"latest\",\n Warn = \"restricted\",\n WarnVersion = \"latest\",\n },\n Exemptions = new Rancher2.Inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs\n {\n Usernames = new[]\n {\n \"testuser\",\n },\n RuntimeClasses = new[]\n {\n \"testclass\",\n },\n Namespaces = new[]\n {\n \"ingress-nginx\",\n \"kube-system\",\n },\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform cluster with PSACT\",\n DefaultPodSecurityAdmissionConfigurationTemplateName = \"\u003cname\u003e\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Custom PSACT (if you wish to use your own)\n\t\t_, err := rancher2.NewPodSecurityAdmissionConfigurationTemplate(ctx, \"foo\", \u0026rancher2.PodSecurityAdmissionConfigurationTemplateArgs{\n\t\t\tName: pulumi.String(\"custom-psact\"),\n\t\t\tDescription: pulumi.String(\"This is my custom Pod Security Admission Configuration Template\"),\n\t\t\tDefaults: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs{\n\t\t\t\tAudit: pulumi.String(\"restricted\"),\n\t\t\t\tAuditVersion: pulumi.String(\"latest\"),\n\t\t\t\tEnforce: pulumi.String(\"restricted\"),\n\t\t\t\tEnforceVersion: pulumi.String(\"latest\"),\n\t\t\t\tWarn: pulumi.String(\"restricted\"),\n\t\t\t\tWarnVersion: pulumi.String(\"latest\"),\n\t\t\t},\n\t\t\tExemptions: \u0026rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs{\n\t\t\t\tUsernames: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testuser\"),\n\t\t\t\t},\n\t\t\t\tRuntimeClasses: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"testclass\"),\n\t\t\t\t},\n\t\t\t\tNamespaces: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ingress-nginx\"),\n\t\t\t\t\tpulumi.String(\"kube-system\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform cluster with PSACT\"),\n\t\t\tDefaultPodSecurityAdmissionConfigurationTemplateName: pulumi.String(\"\u003cname\u003e\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplate;\nimport com.pulumi.rancher2.PodSecurityAdmissionConfigurationTemplateArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateDefaultsArgs;\nimport com.pulumi.rancher2.inputs.PodSecurityAdmissionConfigurationTemplateExemptionsArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Custom PSACT (if you wish to use your own)\n var foo = new PodSecurityAdmissionConfigurationTemplate(\"foo\", PodSecurityAdmissionConfigurationTemplateArgs.builder()\n .name(\"custom-psact\")\n .description(\"This is my custom Pod Security Admission Configuration Template\")\n .defaults(PodSecurityAdmissionConfigurationTemplateDefaultsArgs.builder()\n .audit(\"restricted\")\n .auditVersion(\"latest\")\n .enforce(\"restricted\")\n .enforceVersion(\"latest\")\n .warn(\"restricted\")\n .warnVersion(\"latest\")\n .build())\n .exemptions(PodSecurityAdmissionConfigurationTemplateExemptionsArgs.builder()\n .usernames(\"testuser\")\n .runtimeClasses(\"testclass\")\n .namespaces( \n \"ingress-nginx\",\n \"kube-system\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform cluster with PSACT\")\n .defaultPodSecurityAdmissionConfigurationTemplateName(\"\u003cname\u003e\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Custom PSACT (if you wish to use your own)\n foo:\n type: rancher2:PodSecurityAdmissionConfigurationTemplate\n properties:\n name: custom-psact\n description: This is my custom Pod Security Admission Configuration Template\n defaults:\n audit: restricted\n auditVersion: latest\n enforce: restricted\n enforceVersion: latest\n warn: restricted\n warnVersion: latest\n exemptions:\n usernames:\n - testuser\n runtimeClasses:\n - testclass\n namespaces:\n - ingress-nginx\n - kube-system\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform cluster with PSACT\n defaultPodSecurityAdmissionConfigurationTemplateName: \u003cname\u003e\n rkeConfig:\n network:\n plugin: canal\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n name: \"\u003ccluster-name\u003e\",\n region: \"\u003ceks-region\u003e\",\n imported: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"name\": \"\u003ccluster-name\u003e\",\n \"region\": \"\u003ceks-region\u003e\",\n \"imported\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Name = \"\u003ccluster-name\u003e\",\n Region = \"\u003ceks-region\u003e\",\n Imported = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tName: pulumi.String(\"\u003ccluster-name\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003ceks-region\u003e\"),\n\t\t\t\tImported: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .name(\"\u003ccluster-name\u003e\")\n .region(\"\u003ceks-region\u003e\")\n .imported(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n name: \u003ccluster-name\u003e\n region: \u003ceks-region\u003e\n imported: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [\n {\n name: \"node_group1\",\n instanceType: \"t3.medium\",\n desiredSize: 3,\n maxSize: 5,\n },\n {\n name: \"node_group2\",\n instanceType: \"m5.xlarge\",\n desiredSize: 2,\n maxSize: 3,\n nodeRole: \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n privateAccess: true,\n publicAccess: false,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [\n {\n \"name\": \"node_group1\",\n \"instance_type\": \"t3.medium\",\n \"desired_size\": 3,\n \"max_size\": 5,\n },\n {\n \"name\": \"node_group2\",\n \"instance_type\": \"m5.xlarge\",\n \"desired_size\": 2,\n \"max_size\": 3,\n \"node_role\": \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n ],\n \"private_access\": True,\n \"public_access\": False,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group1\",\n InstanceType = \"t3.medium\",\n DesiredSize = 3,\n MaxSize = 5,\n },\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n Name = \"node_group2\",\n InstanceType = \"m5.xlarge\",\n DesiredSize = 2,\n MaxSize = 3,\n NodeRole = \"arn:aws:iam::role/test-NodeInstanceRole\",\n },\n },\n PrivateAccess = true,\n PublicAccess = false,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"t3.medium\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tName: pulumi.String(\"node_group2\"),\n\t\t\t\t\t\tInstanceType: pulumi.String(\"m5.xlarge\"),\n\t\t\t\t\t\tDesiredSize: pulumi.Int(2),\n\t\t\t\t\t\tMaxSize: pulumi.Int(3),\n\t\t\t\t\t\tNodeRole: pulumi.String(\"arn:aws:iam::role/test-NodeInstanceRole\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups( \n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group1\")\n .instanceType(\"t3.medium\")\n .desiredSize(3)\n .maxSize(5)\n .build(),\n ClusterEksConfigV2NodeGroupArgs.builder()\n .name(\"node_group2\")\n .instanceType(\"m5.xlarge\")\n .desiredSize(2)\n .maxSize(3)\n .nodeRole(\"arn:aws:iam::role/test-NodeInstanceRole\")\n .build())\n .privateAccess(true)\n .publicAccess(false)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - name: node_group1\n instanceType: t3.medium\n desiredSize: 3\n maxSize: 5\n - name: node_group2\n instanceType: m5.xlarge\n desiredSize: 2\n maxSize: 3\n nodeRole: arn:aws:iam::role/test-NodeInstanceRole\n privateAccess: true\n publicAccess: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above.\n\nNote: To use `launch_template` you must provide the ID (seen as `\u003cEC2_LAUNCH_TEMPLATE_ID\u003e`) to the template either as a static value. Or fetched via AWS data-source using one of: aws_ami first and provide the ID to that.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003caws-access-key\u003e\",\n secretKey: \"\u003caws-secret-key\u003e\",\n },\n});\nconst fooCluster = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform EKS cluster\",\n eksConfigV2: {\n cloudCredentialId: foo.id,\n region: \"\u003cEKS_REGION\u003e\",\n kubernetesVersion: \"1.24\",\n loggingTypes: [\n \"audit\",\n \"api\",\n ],\n nodeGroups: [{\n desiredSize: 3,\n maxSize: 5,\n name: \"node_group1\",\n launchTemplates: [{\n id: \"\u003cec2-launch-template-id\u003e\",\n version: 1,\n }],\n }],\n privateAccess: true,\n publicAccess: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003caws-access-key\u003e\",\n \"secret_key\": \"\u003caws-secret-key\u003e\",\n })\nfoo_cluster = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform EKS cluster\",\n eks_config_v2={\n \"cloud_credential_id\": foo.id,\n \"region\": \"\u003cEKS_REGION\u003e\",\n \"kubernetes_version\": \"1.24\",\n \"logging_types\": [\n \"audit\",\n \"api\",\n ],\n \"node_groups\": [{\n \"desired_size\": 3,\n \"max_size\": 5,\n \"name\": \"node_group1\",\n \"launch_templates\": [{\n \"id\": \"\u003cec2-launch-template-id\u003e\",\n \"version\": 1,\n }],\n }],\n \"private_access\": True,\n \"public_access\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003caws-access-key\u003e\",\n SecretKey = \"\u003caws-secret-key\u003e\",\n },\n });\n\n var fooCluster = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform EKS cluster\",\n EksConfigV2 = new Rancher2.Inputs.ClusterEksConfigV2Args\n {\n CloudCredentialId = foo.Id,\n Region = \"\u003cEKS_REGION\u003e\",\n KubernetesVersion = \"1.24\",\n LoggingTypes = new[]\n {\n \"audit\",\n \"api\",\n },\n NodeGroups = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupArgs\n {\n DesiredSize = 3,\n MaxSize = 5,\n Name = \"node_group1\",\n LaunchTemplates = new[]\n {\n new Rancher2.Inputs.ClusterEksConfigV2NodeGroupLaunchTemplateArgs\n {\n Id = \"\u003cec2-launch-template-id\u003e\",\n Version = 1,\n },\n },\n },\n },\n PrivateAccess = true,\n PublicAccess = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003caws-access-key\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003caws-secret-key\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform EKS cluster\"),\n\t\t\tEksConfigV2: \u0026rancher2.ClusterEksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo.ID(),\n\t\t\t\tRegion: pulumi.String(\"\u003cEKS_REGION\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24\"),\n\t\t\t\tLoggingTypes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"audit\"),\n\t\t\t\t\tpulumi.String(\"api\"),\n\t\t\t\t},\n\t\t\t\tNodeGroups: rancher2.ClusterEksConfigV2NodeGroupArray{\n\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupArgs{\n\t\t\t\t\t\tDesiredSize: pulumi.Int(3),\n\t\t\t\t\t\tMaxSize: pulumi.Int(5),\n\t\t\t\t\t\tName: pulumi.String(\"node_group1\"),\n\t\t\t\t\t\tLaunchTemplates: rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArray{\n\t\t\t\t\t\t\t\u0026rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs{\n\t\t\t\t\t\t\t\tId: pulumi.String(\"\u003cec2-launch-template-id\u003e\"),\n\t\t\t\t\t\t\t\tVersion: pulumi.Int(1),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tPrivateAccess: pulumi.Bool(true),\n\t\t\t\tPublicAccess: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterEksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003caws-access-key\u003e\")\n .secretKey(\"\u003caws-secret-key\u003e\")\n .build())\n .build());\n\n var fooCluster = new Cluster(\"fooCluster\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform EKS cluster\")\n .eksConfigV2(ClusterEksConfigV2Args.builder()\n .cloudCredentialId(foo.id())\n .region(\"\u003cEKS_REGION\u003e\")\n .kubernetesVersion(\"1.24\")\n .loggingTypes( \n \"audit\",\n \"api\")\n .nodeGroups(ClusterEksConfigV2NodeGroupArgs.builder()\n .desiredSize(3)\n .maxSize(5)\n .name(\"node_group1\")\n .launchTemplates(ClusterEksConfigV2NodeGroupLaunchTemplateArgs.builder()\n .id(\"\u003cec2-launch-template-id\u003e\")\n .version(1)\n .build())\n .build())\n .privateAccess(true)\n .publicAccess(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003caws-access-key\u003e\n secretKey: \u003caws-secret-key\u003e\n fooCluster:\n type: rancher2:Cluster\n name: foo\n properties:\n name: foo\n description: Terraform EKS cluster\n eksConfigV2:\n cloudCredentialId: ${foo.id}\n region: \u003cEKS_REGION\u003e\n kubernetesVersion: '1.24'\n loggingTypes:\n - audit\n - api\n nodeGroups:\n - desiredSize: 3\n maxSize: 5\n name: node_group1\n launchTemplates:\n - id: \u003cec2-launch-template-id\u003e\n version: 1\n privateAccess: true\n publicAccess: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\nconst foo_aks = new rancher2.CloudCredential(\"foo-aks\", {\n name: \"foo-aks\",\n azureCredentialConfig: {\n clientId: \"\u003cclient-id\u003e\",\n clientSecret: \"\u003cclient-secret\u003e\",\n subscriptionId: \"\u003csubscription-id\u003e\",\n },\n});\nconst foo = new rancher2.Cluster(\"foo\", {\n name: \"foo\",\n description: \"Terraform AKS cluster\",\n aksConfigV2: {\n cloudCredentialId: foo_aks.id,\n resourceGroup: \"\u003cresource-group\u003e\",\n resourceLocation: \"\u003cresource-location\u003e\",\n dnsPrefix: \"\u003cdns-prefix\u003e\",\n kubernetesVersion: \"1.24.6\",\n networkPlugin: \"\u003cnetwork-plugin\u003e\",\n virtualNetwork: \"\u003cvirtual-network\u003e\",\n virtualNetworkResourceGroup: \"\u003cvirtual-network-resource-group\u003e\",\n subnet: \"\u003csubnet\u003e\",\n nodeResourceGroup: \"\u003cnode-resource-group\u003e\",\n nodePools: [\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-1\u003e\",\n mode: \"System\",\n count: 1,\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n },\n {\n availabilityZones: [\n \"1\",\n \"2\",\n \"3\",\n ],\n name: \"\u003cnodepool-name-2\u003e\",\n count: 1,\n mode: \"User\",\n orchestratorVersion: \"1.21.2\",\n osDiskSizeGb: 128,\n vmSize: \"Standard_DS2_v2\",\n maxSurge: \"25%\",\n labels: {\n test1: \"data1\",\n test2: \"data2\",\n },\n taints: [\"none:PreferNoSchedule\"],\n },\n ],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\nfoo_aks = rancher2.CloudCredential(\"foo-aks\",\n name=\"foo-aks\",\n azure_credential_config={\n \"client_id\": \"\u003cclient-id\u003e\",\n \"client_secret\": \"\u003cclient-secret\u003e\",\n \"subscription_id\": \"\u003csubscription-id\u003e\",\n })\nfoo = rancher2.Cluster(\"foo\",\n name=\"foo\",\n description=\"Terraform AKS cluster\",\n aks_config_v2={\n \"cloud_credential_id\": foo_aks.id,\n \"resource_group\": \"\u003cresource-group\u003e\",\n \"resource_location\": \"\u003cresource-location\u003e\",\n \"dns_prefix\": \"\u003cdns-prefix\u003e\",\n \"kubernetes_version\": \"1.24.6\",\n \"network_plugin\": \"\u003cnetwork-plugin\u003e\",\n \"virtual_network\": \"\u003cvirtual-network\u003e\",\n \"virtual_network_resource_group\": \"\u003cvirtual-network-resource-group\u003e\",\n \"subnet\": \"\u003csubnet\u003e\",\n \"node_resource_group\": \"\u003cnode-resource-group\u003e\",\n \"node_pools\": [\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-1\u003e\",\n \"mode\": \"System\",\n \"count\": 1,\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n },\n {\n \"availability_zones\": [\n \"1\",\n \"2\",\n \"3\",\n ],\n \"name\": \"\u003cnodepool-name-2\u003e\",\n \"count\": 1,\n \"mode\": \"User\",\n \"orchestrator_version\": \"1.21.2\",\n \"os_disk_size_gb\": 128,\n \"vm_size\": \"Standard_DS2_v2\",\n \"max_surge\": \"25%\",\n \"labels\": {\n \"test1\": \"data1\",\n \"test2\": \"data2\",\n },\n \"taints\": [\"none:PreferNoSchedule\"],\n },\n ],\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n var foo_aks = new Rancher2.CloudCredential(\"foo-aks\", new()\n {\n Name = \"foo-aks\",\n AzureCredentialConfig = new Rancher2.Inputs.CloudCredentialAzureCredentialConfigArgs\n {\n ClientId = \"\u003cclient-id\u003e\",\n ClientSecret = \"\u003cclient-secret\u003e\",\n SubscriptionId = \"\u003csubscription-id\u003e\",\n },\n });\n\n var foo = new Rancher2.Cluster(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform AKS cluster\",\n AksConfigV2 = new Rancher2.Inputs.ClusterAksConfigV2Args\n {\n CloudCredentialId = foo_aks.Id,\n ResourceGroup = \"\u003cresource-group\u003e\",\n ResourceLocation = \"\u003cresource-location\u003e\",\n DnsPrefix = \"\u003cdns-prefix\u003e\",\n KubernetesVersion = \"1.24.6\",\n NetworkPlugin = \"\u003cnetwork-plugin\u003e\",\n VirtualNetwork = \"\u003cvirtual-network\u003e\",\n VirtualNetworkResourceGroup = \"\u003cvirtual-network-resource-group\u003e\",\n Subnet = \"\u003csubnet\u003e\",\n NodeResourceGroup = \"\u003cnode-resource-group\u003e\",\n NodePools = new[]\n {\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-1\u003e\",\n Mode = \"System\",\n Count = 1,\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n },\n new Rancher2.Inputs.ClusterAksConfigV2NodePoolArgs\n {\n AvailabilityZones = new[]\n {\n \"1\",\n \"2\",\n \"3\",\n },\n Name = \"\u003cnodepool-name-2\u003e\",\n Count = 1,\n Mode = \"User\",\n OrchestratorVersion = \"1.21.2\",\n OsDiskSizeGb = 128,\n VmSize = \"Standard_DS2_v2\",\n MaxSurge = \"25%\",\n Labels = \n {\n { \"test1\", \"data1\" },\n { \"test2\", \"data2\" },\n },\n Taints = new[]\n {\n \"none:PreferNoSchedule\",\n },\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := rancher2.NewCloudCredential(ctx, \"foo-aks\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-aks\"),\n\t\t\tAzureCredentialConfig: \u0026rancher2.CloudCredentialAzureCredentialConfigArgs{\n\t\t\t\tClientId: pulumi.String(\"\u003cclient-id\u003e\"),\n\t\t\t\tClientSecret: pulumi.String(\"\u003cclient-secret\u003e\"),\n\t\t\t\tSubscriptionId: pulumi.String(\"\u003csubscription-id\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewCluster(ctx, \"foo\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform AKS cluster\"),\n\t\t\tAksConfigV2: \u0026rancher2.ClusterAksConfigV2Args{\n\t\t\t\tCloudCredentialId: foo_aks.ID(),\n\t\t\t\tResourceGroup: pulumi.String(\"\u003cresource-group\u003e\"),\n\t\t\t\tResourceLocation: pulumi.String(\"\u003cresource-location\u003e\"),\n\t\t\t\tDnsPrefix: pulumi.String(\"\u003cdns-prefix\u003e\"),\n\t\t\t\tKubernetesVersion: pulumi.String(\"1.24.6\"),\n\t\t\t\tNetworkPlugin: pulumi.String(\"\u003cnetwork-plugin\u003e\"),\n\t\t\t\tVirtualNetwork: pulumi.String(\"\u003cvirtual-network\u003e\"),\n\t\t\t\tVirtualNetworkResourceGroup: pulumi.String(\"\u003cvirtual-network-resource-group\u003e\"),\n\t\t\t\tSubnet: pulumi.String(\"\u003csubnet\u003e\"),\n\t\t\t\tNodeResourceGroup: pulumi.String(\"\u003cnode-resource-group\u003e\"),\n\t\t\t\tNodePools: rancher2.ClusterAksConfigV2NodePoolArray{\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-1\u003e\"),\n\t\t\t\t\t\tMode: pulumi.String(\"System\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026rancher2.ClusterAksConfigV2NodePoolArgs{\n\t\t\t\t\t\tAvailabilityZones: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"1\"),\n\t\t\t\t\t\t\tpulumi.String(\"2\"),\n\t\t\t\t\t\t\tpulumi.String(\"3\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tName: pulumi.String(\"\u003cnodepool-name-2\u003e\"),\n\t\t\t\t\t\tCount: pulumi.Int(1),\n\t\t\t\t\t\tMode: pulumi.String(\"User\"),\n\t\t\t\t\t\tOrchestratorVersion: pulumi.String(\"1.21.2\"),\n\t\t\t\t\t\tOsDiskSizeGb: pulumi.Int(128),\n\t\t\t\t\t\tVmSize: pulumi.String(\"Standard_DS2_v2\"),\n\t\t\t\t\t\tMaxSurge: pulumi.String(\"25%\"),\n\t\t\t\t\t\tLabels: pulumi.Map{\n\t\t\t\t\t\t\t\"test1\": pulumi.Any(\"data1\"),\n\t\t\t\t\t\t\t\"test2\": pulumi.Any(\"data2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tTaints: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"none:PreferNoSchedule\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAzureCredentialConfigArgs;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterAksConfigV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var foo_aks = new CloudCredential(\"foo-aks\", CloudCredentialArgs.builder()\n .name(\"foo-aks\")\n .azureCredentialConfig(CloudCredentialAzureCredentialConfigArgs.builder()\n .clientId(\"\u003cclient-id\u003e\")\n .clientSecret(\"\u003cclient-secret\u003e\")\n .subscriptionId(\"\u003csubscription-id\u003e\")\n .build())\n .build());\n\n var foo = new Cluster(\"foo\", ClusterArgs.builder()\n .name(\"foo\")\n .description(\"Terraform AKS cluster\")\n .aksConfigV2(ClusterAksConfigV2Args.builder()\n .cloudCredentialId(foo_aks.id())\n .resourceGroup(\"\u003cresource-group\u003e\")\n .resourceLocation(\"\u003cresource-location\u003e\")\n .dnsPrefix(\"\u003cdns-prefix\u003e\")\n .kubernetesVersion(\"1.24.6\")\n .networkPlugin(\"\u003cnetwork-plugin\u003e\")\n .virtualNetwork(\"\u003cvirtual-network\u003e\")\n .virtualNetworkResourceGroup(\"\u003cvirtual-network-resource-group\u003e\")\n .subnet(\"\u003csubnet\u003e\")\n .nodeResourceGroup(\"\u003cnode-resource-group\u003e\")\n .nodePools( \n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-1\u003e\")\n .mode(\"System\")\n .count(1)\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .build(),\n ClusterAksConfigV2NodePoolArgs.builder()\n .availabilityZones( \n \"1\",\n \"2\",\n \"3\")\n .name(\"\u003cnodepool-name-2\u003e\")\n .count(1)\n .mode(\"User\")\n .orchestratorVersion(\"1.21.2\")\n .osDiskSizeGb(128)\n .vmSize(\"Standard_DS2_v2\")\n .maxSurge(\"25%\")\n .labels(Map.ofEntries(\n Map.entry(\"test1\", \"data1\"),\n Map.entry(\"test2\", \"data2\")\n ))\n .taints(\"none:PreferNoSchedule\")\n .build())\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n foo-aks:\n type: rancher2:CloudCredential\n properties:\n name: foo-aks\n azureCredentialConfig:\n clientId: \u003cclient-id\u003e\n clientSecret: \u003cclient-secret\u003e\n subscriptionId: \u003csubscription-id\u003e\n foo:\n type: rancher2:Cluster\n properties:\n name: foo\n description: Terraform AKS cluster\n aksConfigV2:\n cloudCredentialId: ${[\"foo-aks\"].id}\n resourceGroup: \u003cresource-group\u003e\n resourceLocation: \u003cresource-location\u003e\n dnsPrefix: \u003cdns-prefix\u003e\n kubernetesVersion: 1.24.6\n networkPlugin: \u003cnetwork-plugin\u003e\n virtualNetwork: \u003cvirtual-network\u003e\n virtualNetworkResourceGroup: \u003cvirtual-network-resource-group\u003e\n subnet: \u003csubnet\u003e\n nodeResourceGroup: \u003cnode-resource-group\u003e\n nodePools:\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-1\u003e\n mode: System\n count: 1\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n - availabilityZones:\n - '1'\n - '2'\n - '3'\n name: \u003cnodepool-name-2\u003e\n count: 1\n mode: User\n orchestratorVersion: 1.21.2\n osDiskSizeGb: 128\n vmSize: Standard_DS2_v2\n maxSurge: 25%\n labels:\n test1: data1\n test2: data2\n taints:\n - none:PreferNoSchedule\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nClusters can be imported using the Rancher Cluster ID\n\n```sh\n$ pulumi import rancher2:index/cluster:Cluster foo \u0026lt;CLUSTER_ID\u0026gt;\n```\n", "properties": { "agentEnvVars": { "type": "array", @@ -27105,7 +27105,7 @@ } }, "rancher2:index/clusterSync:ClusterSync": { - "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 rke Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n// Create a new rancher2 Cluster Sync\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n nodePoolIds: [fooNodePool.id],\n});\n// Create a new rancher2 Project\nconst fooProject = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: foo_customClusterSync.id,\n description: \"Terraform namespace acceptance test\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 rke Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ))\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs(\n access_key=\"\u003cAWS_ACCESS_KEY\u003e\",\n secret_key=\"\u003cAWS_SECRET_KEY\u003e\",\n ami=\"\u003cAMI_ID\u003e\",\n region=\"\u003cREGION\u003e\",\n security_groups=[\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnet_id=\"\u003cSUBNET_ID\u003e\",\n vpc_id=\"\u003cVPC_ID\u003e\",\n zone=\"\u003cZONE\u003e\",\n ))\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n# Create a new rancher2 Cluster Sync\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n node_pool_ids=[foo_node_pool.id])\n# Create a new rancher2 Project\nfoo_project = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=foo_custom_cluster_sync.id,\n description=\"Terraform namespace acceptance test\",\n resource_quota=rancher2.ProjectResourceQuotaArgs(\n project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"2000Mi\",\n requests_storage=\"2Gi\",\n ),\n namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(\n limits_cpu=\"500m\",\n limits_memory=\"500Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 rke Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n NodePoolIds = new[]\n {\n fooNodePool.Id,\n },\n });\n\n // Create a new rancher2 Project\n var fooProject = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = foo_customClusterSync.Id,\n Description = \"Terraform namespace acceptance test\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 rke Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\tfooNodePool, err := rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tNodePoolIds: pulumi.StringArray{\n\t\t\t\tfooNodePool.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project\n\t\t_, err = rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: foo_customClusterSync.ID(),\n\t\t\tDescription: pulumi.String(\"Terraform namespace acceptance test\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 rke Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .nodePoolIds(fooNodePool.id())\n .build());\n\n // Create a new rancher2 Project\n var fooProject = new Project(\"fooProject\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(foo_customClusterSync.id())\n .description(\"Terraform namespace acceptance test\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 rke Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n # Create a new rancher2 Cluster Sync\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n nodePoolIds:\n - ${fooNodePool.id}\n # Create a new rancher2 Project\n fooProject:\n type: rancher2:Project\n name: foo\n properties:\n name: foo\n clusterId: ${[\"foo-customClusterSync\"].id}\n description: Terraform namespace acceptance test\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 rke Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Node Template\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n// Create a new rancher2 Node Pool\nconst fooNodePool = new rancher2.NodePool(\"foo\", {\n clusterId: foo_custom.id,\n name: \"foo\",\n hostnamePrefix: \"foo-cluster-0\",\n nodeTemplateId: foo.id,\n quantity: 3,\n controlPlane: true,\n etcd: true,\n worker: true,\n});\n// Create a new rancher2 Cluster Sync\nconst foo_customClusterSync = new rancher2.ClusterSync(\"foo-custom\", {\n clusterId: foo_custom.id,\n nodePoolIds: [fooNodePool.id],\n});\n// Create a new rancher2 Project\nconst fooProject = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: foo_customClusterSync.id,\n description: \"Terraform namespace acceptance test\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 rke Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Node Template\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n# Create a new rancher2 Node Pool\nfoo_node_pool = rancher2.NodePool(\"foo\",\n cluster_id=foo_custom.id,\n name=\"foo\",\n hostname_prefix=\"foo-cluster-0\",\n node_template_id=foo.id,\n quantity=3,\n control_plane=True,\n etcd=True,\n worker=True)\n# Create a new rancher2 Cluster Sync\nfoo_custom_cluster_sync = rancher2.ClusterSync(\"foo-custom\",\n cluster_id=foo_custom.id,\n node_pool_ids=[foo_node_pool.id])\n# Create a new rancher2 Project\nfoo_project = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=foo_custom_cluster_sync.id,\n description=\"Terraform namespace acceptance test\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"500m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 rke Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Node Template\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new Rancher2.NodePool(\"foo\", new()\n {\n ClusterId = foo_custom.Id,\n Name = \"foo\",\n HostnamePrefix = \"foo-cluster-0\",\n NodeTemplateId = foo.Id,\n Quantity = 3,\n ControlPlane = true,\n Etcd = true,\n Worker = true,\n });\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new Rancher2.ClusterSync(\"foo-custom\", new()\n {\n ClusterId = foo_custom.Id,\n NodePoolIds = new[]\n {\n fooNodePool.Id,\n },\n });\n\n // Create a new rancher2 Project\n var fooProject = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = foo_customClusterSync.Id,\n Description = \"Terraform namespace acceptance test\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 rke Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template\n\t\tfoo, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Pool\n\t\tfooNodePool, err := rancher2.NewNodePool(ctx, \"foo\", \u0026rancher2.NodePoolArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tHostnamePrefix: pulumi.String(\"foo-cluster-0\"),\n\t\t\tNodeTemplateId: foo.ID(),\n\t\t\tQuantity: pulumi.Int(3),\n\t\t\tControlPlane: pulumi.Bool(true),\n\t\t\tEtcd: pulumi.Bool(true),\n\t\t\tWorker: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Cluster Sync\n\t\t_, err = rancher2.NewClusterSync(ctx, \"foo-custom\", \u0026rancher2.ClusterSyncArgs{\n\t\t\tClusterId: foo_custom.ID(),\n\t\t\tNodePoolIds: pulumi.StringArray{\n\t\t\t\tfooNodePool.ID(),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Project\n\t\t_, err = rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: foo_customClusterSync.ID(),\n\t\t\tDescription: pulumi.String(\"Terraform namespace acceptance test\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport com.pulumi.rancher2.NodePool;\nimport com.pulumi.rancher2.NodePoolArgs;\nimport com.pulumi.rancher2.ClusterSync;\nimport com.pulumi.rancher2.ClusterSyncArgs;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 rke Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Node Template\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n // Create a new rancher2 Node Pool\n var fooNodePool = new NodePool(\"fooNodePool\", NodePoolArgs.builder()\n .clusterId(foo_custom.id())\n .name(\"foo\")\n .hostnamePrefix(\"foo-cluster-0\")\n .nodeTemplateId(foo.id())\n .quantity(3)\n .controlPlane(true)\n .etcd(true)\n .worker(true)\n .build());\n\n // Create a new rancher2 Cluster Sync\n var foo_customClusterSync = new ClusterSync(\"foo-customClusterSync\", ClusterSyncArgs.builder()\n .clusterId(foo_custom.id())\n .nodePoolIds(fooNodePool.id())\n .build());\n\n // Create a new rancher2 Project\n var fooProject = new Project(\"fooProject\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(foo_customClusterSync.id())\n .description(\"Terraform namespace acceptance test\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 rke Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Node Template\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n # Create a new rancher2 Node Pool\n fooNodePool:\n type: rancher2:NodePool\n name: foo\n properties:\n clusterId: ${[\"foo-custom\"].id}\n name: foo\n hostnamePrefix: foo-cluster-0\n nodeTemplateId: ${foo.id}\n quantity: 3\n controlPlane: true\n etcd: true\n worker: true\n # Create a new rancher2 Cluster Sync\n foo-customClusterSync:\n type: rancher2:ClusterSync\n name: foo-custom\n properties:\n clusterId: ${[\"foo-custom\"].id}\n nodePoolIds:\n - ${fooNodePool.id}\n # Create a new rancher2 Project\n fooProject:\n type: rancher2:Project\n name: foo\n properties:\n name: foo\n clusterId: ${[\"foo-customClusterSync\"].id}\n description: Terraform namespace acceptance test\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "clusterId": { "type": "string", @@ -27260,7 +27260,7 @@ } }, "rancher2:index/clusterTemplate:ClusterTemplate": { - "description": "Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information. \n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[rancher2.ClusterTemplateMemberArgs(\n access_type=\"owner\",\n user_principal_id=\"local://user-XXXXX\",\n )],\n template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(\n name=\"V1\",\n cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(\n rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(\n network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(\n etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(\n creation=\"6h\",\n retention=\"24h\",\n ),\n ),\n ),\n ),\n default=True,\n )],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster template with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[rancher2.ClusterTemplateMemberArgs(\n access_type=\"owner\",\n user_principal_id=\"local://user-XXXXX\",\n )],\n template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs(\n name=\"V1\",\n cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs(\n rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs(\n network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs(\n etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs(\n creation=\"6h\",\n retention=\"24h\",\n ),\n ),\n upgrade_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs(\n drain=True,\n max_unavailable_worker=\"20%\",\n ),\n ),\n ),\n default=True,\n )],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Template can be imported using the rancher Cluster Template ID\n\n```sh\n$ pulumi import rancher2:index/clusterTemplate:ClusterTemplate foo \u0026lt;CLUSTER_TEMPLATE_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information. \n\nCluster Templates are available from Rancher v2.3.x and above.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\nCreating Rancher v2 RKE cluster template with upgrade strategy. For Rancher v2.4.x and above.\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster Template\nconst foo = new rancher2.ClusterTemplate(\"foo\", {\n name: \"foo\",\n members: [{\n accessType: \"owner\",\n userPrincipalId: \"local://user-XXXXX\",\n }],\n templateRevisions: [{\n name: \"V1\",\n clusterConfig: {\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n services: {\n etcd: {\n creation: \"6h\",\n retention: \"24h\",\n },\n },\n upgradeStrategy: {\n drain: true,\n maxUnavailableWorker: \"20%\",\n },\n },\n },\n \"default\": true,\n }],\n description: \"Terraform cluster template foo\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster Template\nfoo = rancher2.ClusterTemplate(\"foo\",\n name=\"foo\",\n members=[{\n \"access_type\": \"owner\",\n \"user_principal_id\": \"local://user-XXXXX\",\n }],\n template_revisions=[{\n \"name\": \"V1\",\n \"cluster_config\": {\n \"rke_config\": {\n \"network\": {\n \"plugin\": \"canal\",\n },\n \"services\": {\n \"etcd\": {\n \"creation\": \"6h\",\n \"retention\": \"24h\",\n },\n },\n \"upgrade_strategy\": {\n \"drain\": True,\n \"max_unavailable_worker\": \"20%\",\n },\n },\n },\n \"default\": True,\n }],\n description=\"Terraform cluster template foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster Template\n var foo = new Rancher2.ClusterTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Members = new[]\n {\n new Rancher2.Inputs.ClusterTemplateMemberArgs\n {\n AccessType = \"owner\",\n UserPrincipalId = \"local://user-XXXXX\",\n },\n },\n TemplateRevisions = new[]\n {\n new Rancher2.Inputs.ClusterTemplateTemplateRevisionArgs\n {\n Name = \"V1\",\n ClusterConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigArgs\n {\n RkeConfig = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n Services = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs\n {\n Etcd = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs\n {\n Creation = \"6h\",\n Retention = \"24h\",\n },\n },\n UpgradeStrategy = new Rancher2.Inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs\n {\n Drain = true,\n MaxUnavailableWorker = \"20%\",\n },\n },\n },\n Default = true,\n },\n },\n Description = \"Terraform cluster template foo\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster Template\n\t\t_, err := rancher2.NewClusterTemplate(ctx, \"foo\", \u0026rancher2.ClusterTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tMembers: rancher2.ClusterTemplateMemberArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateMemberArgs{\n\t\t\t\t\tAccessType: pulumi.String(\"owner\"),\n\t\t\t\t\tUserPrincipalId: pulumi.String(\"local://user-XXXXX\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateRevisions: rancher2.ClusterTemplateTemplateRevisionArray{\n\t\t\t\t\u0026rancher2.ClusterTemplateTemplateRevisionArgs{\n\t\t\t\t\tName: pulumi.String(\"V1\"),\n\t\t\t\t\tClusterConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs{\n\t\t\t\t\t\tRkeConfig: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs{\n\t\t\t\t\t\t\tNetwork: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs{\n\t\t\t\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tServices: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs{\n\t\t\t\t\t\t\t\tEtcd: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs{\n\t\t\t\t\t\t\t\t\tCreation: pulumi.String(\"6h\"),\n\t\t\t\t\t\t\t\t\tRetention: pulumi.String(\"24h\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tUpgradeStrategy: \u0026rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs{\n\t\t\t\t\t\t\t\tDrain: pulumi.Bool(true),\n\t\t\t\t\t\t\t\tMaxUnavailableWorker: pulumi.String(\"20%\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDefault: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Terraform cluster template foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.ClusterTemplate;\nimport com.pulumi.rancher2.ClusterTemplateArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateMemberArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs;\nimport com.pulumi.rancher2.inputs.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster Template\n var foo = new ClusterTemplate(\"foo\", ClusterTemplateArgs.builder()\n .name(\"foo\")\n .members(ClusterTemplateMemberArgs.builder()\n .accessType(\"owner\")\n .userPrincipalId(\"local://user-XXXXX\")\n .build())\n .templateRevisions(ClusterTemplateTemplateRevisionArgs.builder()\n .name(\"V1\")\n .clusterConfig(ClusterTemplateTemplateRevisionClusterConfigArgs.builder()\n .rkeConfig(ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs.builder()\n .network(ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .services(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs.builder()\n .etcd(ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs.builder()\n .creation(\"6h\")\n .retention(\"24h\")\n .build())\n .build())\n .upgradeStrategy(ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs.builder()\n .drain(true)\n .maxUnavailableWorker(\"20%\")\n .build())\n .build())\n .build())\n .default_(true)\n .build())\n .description(\"Terraform cluster template foo\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster Template\n foo:\n type: rancher2:ClusterTemplate\n properties:\n name: foo\n members:\n - accessType: owner\n userPrincipalId: local://user-XXXXX\n templateRevisions:\n - name: V1\n clusterConfig:\n rkeConfig:\n network:\n plugin: canal\n services:\n etcd:\n creation: 6h\n retention: 24h\n upgradeStrategy:\n drain: true\n maxUnavailableWorker: 20%\n default: true\n description: Terraform cluster template foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nCluster Template can be imported using the rancher Cluster Template ID\n\n```sh\n$ pulumi import rancher2:index/clusterTemplate:ClusterTemplate foo \u0026lt;CLUSTER_TEMPLATE_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -28076,7 +28076,7 @@ } }, "rancher2:index/etcdBackup:EtcdBackup": { - "description": "Provides a Rancher v2 Etcd Backup resource. This can be used to create an Etcd Backup for Rancher v2.2.x and above, and to retrieve their information. \n\nThe `rancher2.EtcdBackup` resource is used to define extra etcd backups for a `rancher2.Cluster`, which will be created as a local or S3 backup in accordance with the etcd backup config for the cluster. The main etcd backup config for the cluster should be set on the cluster config\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Etcd Backup\nconst foo = new rancher2.EtcdBackup(\"foo\", {\n backupConfig: {\n enabled: true,\n intervalHours: 20,\n retention: 10,\n s3BackupConfig: {\n accessKey: \"access_key\",\n bucketName: \"bucket_name\",\n endpoint: \"endpoint\",\n folder: \"/folder\",\n region: \"region\",\n secretKey: \"secret_key\",\n },\n },\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n filename: \"\u003cFILENAME\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Etcd Backup\nfoo = rancher2.EtcdBackup(\"foo\",\n backup_config=rancher2.EtcdBackupBackupConfigArgs(\n enabled=True,\n interval_hours=20,\n retention=10,\n s3_backup_config=rancher2.EtcdBackupBackupConfigS3BackupConfigArgs(\n access_key=\"access_key\",\n bucket_name=\"bucket_name\",\n endpoint=\"endpoint\",\n folder=\"/folder\",\n region=\"region\",\n secret_key=\"secret_key\",\n ),\n ),\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\",\n filename=\"\u003cFILENAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Etcd Backup\n var foo = new Rancher2.EtcdBackup(\"foo\", new()\n {\n BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs\n {\n Enabled = true,\n IntervalHours = 20,\n Retention = 10,\n S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs\n {\n AccessKey = \"access_key\",\n BucketName = \"bucket_name\",\n Endpoint = \"endpoint\",\n Folder = \"/folder\",\n Region = \"region\",\n SecretKey = \"secret_key\",\n },\n },\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n Filename = \"\u003cFILENAME\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Etcd Backup\n\t\t_, err := rancher2.NewEtcdBackup(ctx, \"foo\", \u0026rancher2.EtcdBackupArgs{\n\t\t\tBackupConfig: \u0026rancher2.EtcdBackupBackupConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIntervalHours: pulumi.Int(20),\n\t\t\t\tRetention: pulumi.Int(10),\n\t\t\t\tS3BackupConfig: \u0026rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{\n\t\t\t\t\tAccessKey: pulumi.String(\"access_key\"),\n\t\t\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"endpoint\"),\n\t\t\t\t\tFolder: pulumi.String(\"/folder\"),\n\t\t\t\t\tRegion: pulumi.String(\"region\"),\n\t\t\t\t\tSecretKey: pulumi.String(\"secret_key\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFilename: pulumi.String(\"\u003cFILENAME\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.EtcdBackup;\nimport com.pulumi.rancher2.EtcdBackupArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigS3BackupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Etcd Backup\n var foo = new EtcdBackup(\"foo\", EtcdBackupArgs.builder()\n .backupConfig(EtcdBackupBackupConfigArgs.builder()\n .enabled(true)\n .intervalHours(20)\n .retention(10)\n .s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()\n .accessKey(\"access_key\")\n .bucketName(\"bucket_name\")\n .endpoint(\"endpoint\")\n .folder(\"/folder\")\n .region(\"region\")\n .secretKey(\"secret_key\")\n .build())\n .build())\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .filename(\"\u003cFILENAME\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Etcd Backup\n foo:\n type: rancher2:EtcdBackup\n properties:\n backupConfig:\n enabled: true\n intervalHours: 20\n retention: 10\n s3BackupConfig:\n accessKey: access_key\n bucketName: bucket_name\n endpoint: endpoint\n folder: /folder\n region: region\n secretKey: secret_key\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n filename: \u003cFILENAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEtcd Backup can be imported using the Rancher etcd backup ID\n\n```sh\n$ pulumi import rancher2:index/etcdBackup:EtcdBackup foo \u0026lt;ETCD_BACKUP_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Etcd Backup resource. This can be used to create an Etcd Backup for Rancher v2.2.x and above, and to retrieve their information. \n\nThe `rancher2.EtcdBackup` resource is used to define extra etcd backups for a `rancher2.Cluster`, which will be created as a local or S3 backup in accordance with the etcd backup config for the cluster. The main etcd backup config for the cluster should be set on the cluster config\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Etcd Backup\nconst foo = new rancher2.EtcdBackup(\"foo\", {\n backupConfig: {\n enabled: true,\n intervalHours: 20,\n retention: 10,\n s3BackupConfig: {\n accessKey: \"access_key\",\n bucketName: \"bucket_name\",\n endpoint: \"endpoint\",\n folder: \"/folder\",\n region: \"region\",\n secretKey: \"secret_key\",\n },\n },\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n name: \"foo\",\n filename: \"\u003cFILENAME\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Etcd Backup\nfoo = rancher2.EtcdBackup(\"foo\",\n backup_config={\n \"enabled\": True,\n \"interval_hours\": 20,\n \"retention\": 10,\n \"s3_backup_config\": {\n \"access_key\": \"access_key\",\n \"bucket_name\": \"bucket_name\",\n \"endpoint\": \"endpoint\",\n \"folder\": \"/folder\",\n \"region\": \"region\",\n \"secret_key\": \"secret_key\",\n },\n },\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n name=\"foo\",\n filename=\"\u003cFILENAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Etcd Backup\n var foo = new Rancher2.EtcdBackup(\"foo\", new()\n {\n BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigArgs\n {\n Enabled = true,\n IntervalHours = 20,\n Retention = 10,\n S3BackupConfig = new Rancher2.Inputs.EtcdBackupBackupConfigS3BackupConfigArgs\n {\n AccessKey = \"access_key\",\n BucketName = \"bucket_name\",\n Endpoint = \"endpoint\",\n Folder = \"/folder\",\n Region = \"region\",\n SecretKey = \"secret_key\",\n },\n },\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n Name = \"foo\",\n Filename = \"\u003cFILENAME\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Etcd Backup\n\t\t_, err := rancher2.NewEtcdBackup(ctx, \"foo\", \u0026rancher2.EtcdBackupArgs{\n\t\t\tBackupConfig: \u0026rancher2.EtcdBackupBackupConfigArgs{\n\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\tIntervalHours: pulumi.Int(20),\n\t\t\t\tRetention: pulumi.Int(10),\n\t\t\t\tS3BackupConfig: \u0026rancher2.EtcdBackupBackupConfigS3BackupConfigArgs{\n\t\t\t\t\tAccessKey: pulumi.String(\"access_key\"),\n\t\t\t\t\tBucketName: pulumi.String(\"bucket_name\"),\n\t\t\t\t\tEndpoint: pulumi.String(\"endpoint\"),\n\t\t\t\t\tFolder: pulumi.String(\"/folder\"),\n\t\t\t\t\tRegion: pulumi.String(\"region\"),\n\t\t\t\t\tSecretKey: pulumi.String(\"secret_key\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFilename: pulumi.String(\"\u003cFILENAME\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.EtcdBackup;\nimport com.pulumi.rancher2.EtcdBackupArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigArgs;\nimport com.pulumi.rancher2.inputs.EtcdBackupBackupConfigS3BackupConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Etcd Backup\n var foo = new EtcdBackup(\"foo\", EtcdBackupArgs.builder()\n .backupConfig(EtcdBackupBackupConfigArgs.builder()\n .enabled(true)\n .intervalHours(20)\n .retention(10)\n .s3BackupConfig(EtcdBackupBackupConfigS3BackupConfigArgs.builder()\n .accessKey(\"access_key\")\n .bucketName(\"bucket_name\")\n .endpoint(\"endpoint\")\n .folder(\"/folder\")\n .region(\"region\")\n .secretKey(\"secret_key\")\n .build())\n .build())\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .name(\"foo\")\n .filename(\"\u003cFILENAME\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Etcd Backup\n foo:\n type: rancher2:EtcdBackup\n properties:\n backupConfig:\n enabled: true\n intervalHours: 20\n retention: 10\n s3BackupConfig:\n accessKey: access_key\n bucketName: bucket_name\n endpoint: endpoint\n folder: /folder\n region: region\n secretKey: secret_key\n clusterId: \u003cCLUSTER_ID\u003e\n name: foo\n filename: \u003cFILENAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nEtcd Backup can be imported using the Rancher etcd backup ID\n\n```sh\n$ pulumi import rancher2:index/etcdBackup:EtcdBackup foo \u0026lt;ETCD_BACKUP_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -28307,7 +28307,7 @@ } }, "rancher2:index/globalDns:GlobalDns": { - "description": "Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using project IDs\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n projectIds: [\n \"project1\",\n \"project2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs(\n access_key=\"YYYYYYYYYYYYYYYYYYYY\",\n secret_key=\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zone_type=\"private\",\n region=\"us-east-1\",\n ))\n# Create a new rancher2 Global DNS using project IDs\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n project_ids=[\n \"project1\",\n \"project2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n ProjectIds = new[]\n {\n \"project1\",\n \"project2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using project IDs\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project1\"),\n\t\t\t\tpulumi.String(\"project2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .projectIds( \n \"project1\",\n \"project2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using project IDs\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n projectIds:\n - project1\n - project2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using MultiClusterApp ID\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n multiClusterAppId: \"\u003cMCA_ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs(\n access_key=\"YYYYYYYYYYYYYYYYYYYY\",\n secret_key=\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zone_type=\"private\",\n region=\"us-east-1\",\n ))\n# Create a new rancher2 Global DNS using MultiClusterApp ID\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n multi_cluster_app_id=\"\u003cMCA_ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n MultiClusterAppId = \"\u003cMCA_ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using MultiClusterApp ID\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tMultiClusterAppId: pulumi.String(\"\u003cMCA_ID\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .multiClusterAppId(\"\u003cMCA_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using MultiClusterApp ID\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n multiClusterAppId: \u003cMCA_ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Entry can be imported using the Rancher Global DNS ID\n\n```sh\n$ pulumi import rancher2:index/globalDns:GlobalDns foo \u003cglobal_dns_id\u003e\n```\n", + "description": "Provides a Rancher V2 Global DNS resource. This can be used to create Global DNS records for Rancher V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using project IDs\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n projectIds: [\n \"project1\",\n \"project2\",\n ],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n# Create a new rancher2 Global DNS using project IDs\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n project_ids=[\n \"project1\",\n \"project2\",\n ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n ProjectIds = new[]\n {\n \"project1\",\n \"project2\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using project IDs\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tProjectIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project1\"),\n\t\t\t\tpulumi.String(\"project2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using project IDs\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .projectIds( \n \"project1\",\n \"project2\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using project IDs\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n projectIds:\n - project1\n - project2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n// Create a new rancher2 Global DNS using MultiClusterApp ID\nconst fooGlobalDns = new rancher2.GlobalDns(\"foo\", {\n name: \"foo\",\n fqdn: \"foo.example.com\",\n providerId: foo.id,\n multiClusterAppId: \"\u003cMCA_ID\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n# Create a new rancher2 Global DNS using MultiClusterApp ID\nfoo_global_dns = rancher2.GlobalDns(\"foo\",\n name=\"foo\",\n fqdn=\"foo.example.com\",\n provider_id=foo.id,\n multi_cluster_app_id=\"\u003cMCA_ID\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new Rancher2.GlobalDns(\"foo\", new()\n {\n Name = \"foo\",\n Fqdn = \"foo.example.com\",\n ProviderId = foo.Id,\n MultiClusterAppId = \"\u003cMCA_ID\u003e\",\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider\n\t\tfoo, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Global DNS using MultiClusterApp ID\n\t\t_, err = rancher2.NewGlobalDns(ctx, \"foo\", \u0026rancher2.GlobalDnsArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tFqdn: pulumi.String(\"foo.example.com\"),\n\t\t\tProviderId: foo.ID(),\n\t\t\tMultiClusterAppId: pulumi.String(\"\u003cMCA_ID\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport com.pulumi.rancher2.GlobalDns;\nimport com.pulumi.rancher2.GlobalDnsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n // Create a new rancher2 Global DNS using MultiClusterApp ID\n var fooGlobalDns = new GlobalDns(\"fooGlobalDns\", GlobalDnsArgs.builder()\n .name(\"foo\")\n .fqdn(\"foo.example.com\")\n .providerId(foo.id())\n .multiClusterAppId(\"\u003cMCA_ID\u003e\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n # Create a new rancher2 Global DNS using MultiClusterApp ID\n fooGlobalDns:\n type: rancher2:GlobalDns\n name: foo\n properties:\n name: foo\n fqdn: foo.example.com\n providerId: ${foo.id}\n multiClusterAppId: \u003cMCA_ID\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Entry can be imported using the Rancher Global DNS ID\n\n```sh\n$ pulumi import rancher2:index/globalDns:GlobalDns foo \u003cglobal_dns_id\u003e\n```\n", "properties": { "annotations": { "type": "object", @@ -28456,7 +28456,7 @@ } }, "rancher2:index/globalDnsProvider:GlobalDnsProvider": { - "description": "Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - alidns\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n alidnsConfig: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - alidns\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n alidns_config=rancher2.GlobalDnsProviderAlidnsConfigArgs(\n access_key=\"YYYYYYYYYYYYYYYYYYYY\",\n secret_key=\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - alidns\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n AlidnsConfig = new Rancher2.Inputs.GlobalDnsProviderAlidnsConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - alidns\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tAlidnsConfig: \u0026rancher2.GlobalDnsProviderAlidnsConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - alidns\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .alidnsConfig(GlobalDnsProviderAlidnsConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - alidns\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n alidnsConfig:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - cloudflare\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n cloudflareConfig: {\n apiEmail: \"test@test.local\",\n apiKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n proxySetting: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - cloudflare\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n cloudflare_config=rancher2.GlobalDnsProviderCloudflareConfigArgs(\n api_email=\"test@test.local\",\n api_key=\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n proxy_setting=True,\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n CloudflareConfig = new Rancher2.Inputs.GlobalDnsProviderCloudflareConfigArgs\n {\n ApiEmail = \"test@test.local\",\n ApiKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ProxySetting = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - cloudflare\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tCloudflareConfig: \u0026rancher2.GlobalDnsProviderCloudflareConfigArgs{\n\t\t\t\tApiEmail: pulumi.String(\"test@test.local\"),\n\t\t\t\tApiKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tProxySetting: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs.builder()\n .apiEmail(\"test@test.local\")\n .apiKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .proxySetting(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - cloudflare\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n cloudflareConfig:\n apiEmail: test@test.local\n apiKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n proxySetting: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - route53\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - route53\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs(\n access_key=\"YYYYYYYYYYYYYYYYYYYY\",\n secret_key=\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zone_type=\"private\",\n region=\"us-east-1\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - route53\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - route53\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - route53\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - route53\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Providers can be imported using the Rancher Global DNS Provider ID\n\n```sh\n$ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo \u003cglobal_dns_provider_id\u003e\n```\n", + "description": "Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53`\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - alidns\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n alidnsConfig: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - alidns\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n alidns_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - alidns\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n AlidnsConfig = new Rancher2.Inputs.GlobalDnsProviderAlidnsConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - alidns\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tAlidnsConfig: \u0026rancher2.GlobalDnsProviderAlidnsConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderAlidnsConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - alidns\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .alidnsConfig(GlobalDnsProviderAlidnsConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - alidns\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n alidnsConfig:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - cloudflare\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n cloudflareConfig: {\n apiEmail: \"test@test.local\",\n apiKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n proxySetting: true,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - cloudflare\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n cloudflare_config={\n \"api_email\": \"test@test.local\",\n \"api_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"proxy_setting\": True,\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n CloudflareConfig = new Rancher2.Inputs.GlobalDnsProviderCloudflareConfigArgs\n {\n ApiEmail = \"test@test.local\",\n ApiKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ProxySetting = true,\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - cloudflare\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tCloudflareConfig: \u0026rancher2.GlobalDnsProviderCloudflareConfigArgs{\n\t\t\t\tApiEmail: pulumi.String(\"test@test.local\"),\n\t\t\t\tApiKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tProxySetting: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderCloudflareConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - cloudflare\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs.builder()\n .apiEmail(\"test@test.local\")\n .apiKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .proxySetting(true)\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - cloudflare\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n cloudflareConfig:\n apiEmail: test@test.local\n apiKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n proxySetting: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global DNS Provider - route53\nconst foo = new rancher2.GlobalDnsProvider(\"foo\", {\n name: \"foo\",\n rootDomain: \"example.com\",\n route53Config: {\n accessKey: \"YYYYYYYYYYYYYYYYYYYY\",\n secretKey: \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n zoneType: \"private\",\n region: \"us-east-1\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global DNS Provider - route53\nfoo = rancher2.GlobalDnsProvider(\"foo\",\n name=\"foo\",\n root_domain=\"example.com\",\n route53_config={\n \"access_key\": \"YYYYYYYYYYYYYYYYYYYY\",\n \"secret_key\": \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n \"zone_type\": \"private\",\n \"region\": \"us-east-1\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global DNS Provider - route53\n var foo = new Rancher2.GlobalDnsProvider(\"foo\", new()\n {\n Name = \"foo\",\n RootDomain = \"example.com\",\n Route53Config = new Rancher2.Inputs.GlobalDnsProviderRoute53ConfigArgs\n {\n AccessKey = \"YYYYYYYYYYYYYYYYYYYY\",\n SecretKey = \"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\",\n ZoneType = \"private\",\n Region = \"us-east-1\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global DNS Provider - route53\n\t\t_, err := rancher2.NewGlobalDnsProvider(ctx, \"foo\", \u0026rancher2.GlobalDnsProviderArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tRootDomain: pulumi.String(\"example.com\"),\n\t\t\tRoute53Config: \u0026rancher2.GlobalDnsProviderRoute53ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"YYYYYYYYYYYYYYYYYYYY\"),\n\t\t\t\tSecretKey: pulumi.String(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\"),\n\t\t\t\tZoneType: pulumi.String(\"private\"),\n\t\t\t\tRegion: pulumi.String(\"us-east-1\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalDnsProvider;\nimport com.pulumi.rancher2.GlobalDnsProviderArgs;\nimport com.pulumi.rancher2.inputs.GlobalDnsProviderRoute53ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global DNS Provider - route53\n var foo = new GlobalDnsProvider(\"foo\", GlobalDnsProviderArgs.builder()\n .name(\"foo\")\n .rootDomain(\"example.com\")\n .route53Config(GlobalDnsProviderRoute53ConfigArgs.builder()\n .accessKey(\"YYYYYYYYYYYYYYYYYYYY\")\n .secretKey(\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\")\n .zoneType(\"private\")\n .region(\"us-east-1\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global DNS Provider - route53\n foo:\n type: rancher2:GlobalDnsProvider\n properties:\n name: foo\n rootDomain: example.com\n route53Config:\n accessKey: YYYYYYYYYYYYYYYYYYYY\n secretKey: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n zoneType: private\n region: us-east-1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal DNS Providers can be imported using the Rancher Global DNS Provider ID\n\n```sh\n$ pulumi import rancher2:index/globalDnsProvider:GlobalDnsProvider foo \u003cglobal_dns_provider_id\u003e\n```\n", "properties": { "alidnsConfig": { "$ref": "#/types/rancher2:index/GlobalDnsProviderAlidnsConfig:GlobalDnsProviderAlidnsConfig" @@ -28582,7 +28582,7 @@ } }, "rancher2:index/globalRole:GlobalRole": { - "description": "Provides a Rancher v2 Global Role resource. This can be used to create Global Role for Rancher v2 and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role\nconst foo = new rancher2.GlobalRole(\"foo\", {\n name: \"foo\",\n newUserDefault: true,\n description: \"Terraform global role acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role\nfoo = rancher2.GlobalRole(\"foo\",\n name=\"foo\",\n new_user_default=True,\n description=\"Terraform global role acceptance test\",\n rules=[rancher2.GlobalRoleRuleArgs(\n api_groups=[\"*\"],\n resources=[\"secrets\"],\n verbs=[\"create\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role\n var foo = new Rancher2.GlobalRole(\"foo\", new()\n {\n Name = \"foo\",\n NewUserDefault = true,\n Description = \"Terraform global role acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.GlobalRoleRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role\n\t\t_, err := rancher2.NewGlobalRole(ctx, \"foo\", \u0026rancher2.GlobalRoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tNewUserDefault: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform global role acceptance test\"),\n\t\t\tRules: rancher2.GlobalRoleRuleArray{\n\t\t\t\t\u0026rancher2.GlobalRoleRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalRole;\nimport com.pulumi.rancher2.GlobalRoleArgs;\nimport com.pulumi.rancher2.inputs.GlobalRoleRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global Role\n var foo = new GlobalRole(\"foo\", GlobalRoleArgs.builder()\n .name(\"foo\")\n .newUserDefault(true)\n .description(\"Terraform global role acceptance test\")\n .rules(GlobalRoleRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role\n foo:\n type: rancher2:GlobalRole\n properties:\n name: foo\n newUserDefault: true\n description: Terraform global role acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role can be imported using the Rancher Global Role ID\n\n```sh\n$ pulumi import rancher2:index/globalRole:GlobalRole foo \u0026lt;global_role_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Global Role resource. This can be used to create Global Role for Rancher v2 and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Global Role\nconst foo = new rancher2.GlobalRole(\"foo\", {\n name: \"foo\",\n newUserDefault: true,\n description: \"Terraform global role acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Global Role\nfoo = rancher2.GlobalRole(\"foo\",\n name=\"foo\",\n new_user_default=True,\n description=\"Terraform global role acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Global Role\n var foo = new Rancher2.GlobalRole(\"foo\", new()\n {\n Name = \"foo\",\n NewUserDefault = true,\n Description = \"Terraform global role acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.GlobalRoleRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Global Role\n\t\t_, err := rancher2.NewGlobalRole(ctx, \"foo\", \u0026rancher2.GlobalRoleArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tNewUserDefault: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform global role acceptance test\"),\n\t\t\tRules: rancher2.GlobalRoleRuleArray{\n\t\t\t\t\u0026rancher2.GlobalRoleRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.GlobalRole;\nimport com.pulumi.rancher2.GlobalRoleArgs;\nimport com.pulumi.rancher2.inputs.GlobalRoleRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Global Role\n var foo = new GlobalRole(\"foo\", GlobalRoleArgs.builder()\n .name(\"foo\")\n .newUserDefault(true)\n .description(\"Terraform global role acceptance test\")\n .rules(GlobalRoleRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Global Role\n foo:\n type: rancher2:GlobalRole\n properties:\n name: foo\n newUserDefault: true\n description: Terraform global role acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nGlobal Role can be imported using the Rancher Global Role ID\n\n```sh\n$ pulumi import rancher2:index/globalRole:GlobalRole foo \u0026lt;global_role_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -28853,7 +28853,7 @@ } }, "rancher2:index/machineConfigV2:MachineConfigV2": { - "description": "Provides a Rancher v2 Machine config v2 resource. This can be used to create Machine Config v2 for Rancher v2 and retrieve their information. This resource is available from Rancher v2.6.0 and above.\n\nThe supported cloud providers includes `amazonec2`, `azure`, `digitalocean`, `harvester`, `linode`, `openstack`, and `vsphere`.\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 machine config v2 using harvester node_driver\nconst foo_harvester_v2 = new rancher2.MachineConfigV2(\"foo-harvester-v2\", {\n generateName: \"foo-harvester-v2\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs(\n cluster_id=foo_harvester.cluster_v1_id,\n cluster_type=\"imported\",\n kubeconfig_content=foo_harvester.kube_config,\n ))\n# Create a new rancher2 machine config v2 using harvester node_driver\nfoo_harvester_v2 = rancher2.MachineConfigV2(\"foo-harvester-v2\",\n generate_name=\"foo-harvester-v2\",\n harvester_config=rancher2.MachineConfigV2HarvesterConfigArgs(\n vm_namespace=\"default\",\n cpu_count=\"2\",\n memory_size=\"4\",\n disk_info=\"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n network_info=\"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n ssh_user=\"ubuntu\",\n user_data=\"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new Rancher2.MachineConfigV2(\"foo-harvester-v2\", new()\n {\n GenerateName = \"foo-harvester-v2\",\n HarvesterConfig = new Rancher2.Inputs.MachineConfigV2HarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 machine config v2 using harvester node_driver\n\t\t_, err = rancher2.NewMachineConfigV2(ctx, \"foo-harvester-v2\", \u0026rancher2.MachineConfigV2Args{\n\t\t\tGenerateName: pulumi.String(\"foo-harvester-v2\"),\n\t\t\tHarvesterConfig: \u0026rancher2.MachineConfigV2HarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.MachineConfigV2;\nimport com.pulumi.rancher2.MachineConfigV2Args;\nimport com.pulumi.rancher2.inputs.MachineConfigV2HarvesterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new MachineConfigV2(\"foo-harvester-v2\", MachineConfigV2Args.builder()\n .generateName(\"foo-harvester-v2\")\n .harvesterConfig(MachineConfigV2HarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 machine config v2 using harvester node_driver\n foo-harvester-v2:\n type: rancher2:MachineConfigV2\n properties:\n generateName: foo-harvester-v2\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", + "description": "Provides a Rancher v2 Machine config v2 resource. This can be used to create Machine Config v2 for Rancher v2 and retrieve their information. This resource is available from Rancher v2.6.0 and above.\n\nThe supported cloud providers includes `amazonec2`, `azure`, `digitalocean`, `harvester`, `linode`, `openstack`, and `vsphere`.\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 machine config v2 using harvester node_driver\nconst foo_harvester_v2 = new rancher2.MachineConfigV2(\"foo-harvester-v2\", {\n generateName: \"foo-harvester-v2\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 machine config v2 using harvester node_driver\nfoo_harvester_v2 = rancher2.MachineConfigV2(\"foo-harvester-v2\",\n generate_name=\"foo-harvester-v2\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new Rancher2.MachineConfigV2(\"foo-harvester-v2\", new()\n {\n GenerateName = \"foo-harvester-v2\",\n HarvesterConfig = new Rancher2.Inputs.MachineConfigV2HarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 machine config v2 using harvester node_driver\n\t\t_, err = rancher2.NewMachineConfigV2(ctx, \"foo-harvester-v2\", \u0026rancher2.MachineConfigV2Args{\n\t\t\tGenerateName: pulumi.String(\"foo-harvester-v2\"),\n\t\t\tHarvesterConfig: \u0026rancher2.MachineConfigV2HarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.MachineConfigV2;\nimport com.pulumi.rancher2.MachineConfigV2Args;\nimport com.pulumi.rancher2.inputs.MachineConfigV2HarvesterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 machine config v2 using harvester node_driver\n var foo_harvester_v2 = new MachineConfigV2(\"foo-harvester-v2\", MachineConfigV2Args.builder()\n .generateName(\"foo-harvester-v2\")\n .harvesterConfig(MachineConfigV2HarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 machine config v2 using harvester node_driver\n foo-harvester-v2:\n type: rancher2:MachineConfigV2\n properties:\n generateName: foo-harvester-v2\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n", "properties": { "amazonec2Config": { "$ref": "#/types/rancher2:index/MachineConfigV2Amazonec2Config:MachineConfigV2Amazonec2Config", @@ -29055,7 +29055,7 @@ } }, "rancher2:index/multiClusterApp:MultiClusterApp": { - "description": "Provides a Rancher v2 multi_cluster_app resource. This can be used to deploy multi_cluster_app on Rancher v2.\n\nThis resource can also modify Rancher v2 multi cluster apps in 3 ways:\n- `Add/Remove targets`: If `targets` arguments is modified, the multi cluster app targets will be updated.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n- `Update`: If any other argument is modified the app will be upgraded.\n\nNote: In case of multiple resource modification in a row, `rollback` has preference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [{\n projectId: \"\u003cproject_id\u003e\",\n }],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [{\n values: {\n ingress_host: \"test.xip.io\",\n },\n }],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[rancher2.MultiClusterAppTargetArgs(\n project_id=\"\u003cproject_id\u003e\",\n )],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[rancher2.MultiClusterAppAnswerArgs(\n values={\n \"ingress_host\": \"test.xip.io\",\n },\n )],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Multi Cluster App\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets(MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers(MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App overriding answers\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [\n {\n projectId: \"\u003cproject_id1\u003e\",\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n },\n ],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [\n {\n values: {\n ingress_host: \"test.xip.io\",\n },\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n values: {\n ingress_host: \"test2.xip.io\",\n },\n },\n ],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App overriding answers\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[\n rancher2.MultiClusterAppTargetArgs(\n project_id=\"\u003cproject_id1\u003e\",\n ),\n rancher2.MultiClusterAppTargetArgs(\n project_id=\"\u003cproject_id2\u003e\",\n ),\n ],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[\n rancher2.MultiClusterAppAnswerArgs(\n values={\n \"ingress_host\": \"test.xip.io\",\n },\n ),\n rancher2.MultiClusterAppAnswerArgs(\n project_id=\"\u003cproject_id2\u003e\",\n values={\n \"ingress_host\": \"test2.xip.io\",\n },\n ),\n ],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id1\u003e\",\n },\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n Values = \n {\n { \"ingress_host\", \"test2.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App overriding answers\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id1\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test2.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets( \n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id1\u003e\")\n .build(),\n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers( \n MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build(),\n MultiClusterAppAnswerArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .values(Map.of(\"ingress_host\", \"test2.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App overriding answers\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id1\u003e\n - projectId: \u003cproject_id2\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n - projectId: \u003cproject_id2\u003e\n values:\n ingress_host: test2.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMulti cluster app can be imported using the multi cluster app ID in the format `\u003cmulti_cluster_app_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/multiClusterApp:MultiClusterApp foo \u0026lt;MULTI_CLUSTER_APP_ID\u0026gt;\n```\n", + "description": "Provides a Rancher v2 multi_cluster_app resource. This can be used to deploy multi_cluster_app on Rancher v2.\n\nThis resource can also modify Rancher v2 multi cluster apps in 3 ways:\n- `Add/Remove targets`: If `targets` arguments is modified, the multi cluster app targets will be updated.\n- `Rollback`: If `revision_id` argument is provided or modified the app will be rolled back accordingly. A new `revision_id` will be generated in Rancher. It will also generate a non-empty pulumi preview that will require manual .tf file intervention. Use carefully.\n- `Update`: If any other argument is modified the app will be upgraded.\n\nNote: In case of multiple resource modification in a row, `rollback` has preference.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [{\n projectId: \"\u003cproject_id\u003e\",\n }],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [{\n values: {\n ingress_host: \"test.xip.io\",\n },\n }],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[{\n \"project_id\": \"\u003cproject_id\u003e\",\n }],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[{\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n }],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Multi Cluster App\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets(MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers(MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Multi Cluster App overriding answers\nconst foo = new rancher2.MultiClusterApp(\"foo\", {\n catalogName: \"\u003ccatalog_name\u003e\",\n name: \"foo\",\n targets: [\n {\n projectId: \"\u003cproject_id1\u003e\",\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n },\n ],\n templateName: \"\u003ctemplate_name\u003e\",\n templateVersion: \"\u003ctemplate_version\u003e\",\n answers: [\n {\n values: {\n ingress_host: \"test.xip.io\",\n },\n },\n {\n projectId: \"\u003cproject_id2\u003e\",\n values: {\n ingress_host: \"test2.xip.io\",\n },\n },\n ],\n roles: [\"project-member\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Multi Cluster App overriding answers\nfoo = rancher2.MultiClusterApp(\"foo\",\n catalog_name=\"\u003ccatalog_name\u003e\",\n name=\"foo\",\n targets=[\n {\n \"project_id\": \"\u003cproject_id1\u003e\",\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n },\n ],\n template_name=\"\u003ctemplate_name\u003e\",\n template_version=\"\u003ctemplate_version\u003e\",\n answers=[\n {\n \"values\": {\n \"ingress_host\": \"test.xip.io\",\n },\n },\n {\n \"project_id\": \"\u003cproject_id2\u003e\",\n \"values\": {\n \"ingress_host\": \"test2.xip.io\",\n },\n },\n ],\n roles=[\"project-member\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new Rancher2.MultiClusterApp(\"foo\", new()\n {\n CatalogName = \"\u003ccatalog_name\u003e\",\n Name = \"foo\",\n Targets = new[]\n {\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id1\u003e\",\n },\n new Rancher2.Inputs.MultiClusterAppTargetArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n },\n },\n TemplateName = \"\u003ctemplate_name\u003e\",\n TemplateVersion = \"\u003ctemplate_version\u003e\",\n Answers = new[]\n {\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n Values = \n {\n { \"ingress_host\", \"test.xip.io\" },\n },\n },\n new Rancher2.Inputs.MultiClusterAppAnswerArgs\n {\n ProjectId = \"\u003cproject_id2\u003e\",\n Values = \n {\n { \"ingress_host\", \"test2.xip.io\" },\n },\n },\n },\n Roles = new[]\n {\n \"project-member\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Multi Cluster App overriding answers\n\t\t_, err := rancher2.NewMultiClusterApp(ctx, \"foo\", \u0026rancher2.MultiClusterAppArgs{\n\t\t\tCatalogName: pulumi.String(\"\u003ccatalog_name\u003e\"),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tTargets: rancher2.MultiClusterAppTargetArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id1\u003e\"),\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppTargetArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTemplateName: pulumi.String(\"\u003ctemplate_name\u003e\"),\n\t\t\tTemplateVersion: pulumi.String(\"\u003ctemplate_version\u003e\"),\n\t\t\tAnswers: rancher2.MultiClusterAppAnswerArray{\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t\u0026rancher2.MultiClusterAppAnswerArgs{\n\t\t\t\t\tProjectId: pulumi.String(\"\u003cproject_id2\u003e\"),\n\t\t\t\t\tValues: pulumi.Map{\n\t\t\t\t\t\t\"ingress_host\": pulumi.Any(\"test2.xip.io\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project-member\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.MultiClusterApp;\nimport com.pulumi.rancher2.MultiClusterAppArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppTargetArgs;\nimport com.pulumi.rancher2.inputs.MultiClusterAppAnswerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Multi Cluster App overriding answers\n var foo = new MultiClusterApp(\"foo\", MultiClusterAppArgs.builder()\n .catalogName(\"\u003ccatalog_name\u003e\")\n .name(\"foo\")\n .targets( \n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id1\u003e\")\n .build(),\n MultiClusterAppTargetArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .build())\n .templateName(\"\u003ctemplate_name\u003e\")\n .templateVersion(\"\u003ctemplate_version\u003e\")\n .answers( \n MultiClusterAppAnswerArgs.builder()\n .values(Map.of(\"ingress_host\", \"test.xip.io\"))\n .build(),\n MultiClusterAppAnswerArgs.builder()\n .projectId(\"\u003cproject_id2\u003e\")\n .values(Map.of(\"ingress_host\", \"test2.xip.io\"))\n .build())\n .roles(\"project-member\")\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Multi Cluster App overriding answers\n foo:\n type: rancher2:MultiClusterApp\n properties:\n catalogName: \u003ccatalog_name\u003e\n name: foo\n targets:\n - projectId: \u003cproject_id1\u003e\n - projectId: \u003cproject_id2\u003e\n templateName: \u003ctemplate_name\u003e\n templateVersion: \u003ctemplate_version\u003e\n answers:\n - values:\n ingress_host: test.xip.io\n - projectId: \u003cproject_id2\u003e\n values:\n ingress_host: test2.xip.io\n roles:\n - project-member\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nMulti cluster app can be imported using the multi cluster app ID in the format `\u003cmulti_cluster_app_name\u003e`\n\n```sh\n$ pulumi import rancher2:index/multiClusterApp:MultiClusterApp foo \u0026lt;MULTI_CLUSTER_APP_ID\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -29320,7 +29320,7 @@ } }, "rancher2:index/namespace:Namespace": { - "description": "Provides a Rancher v2 Namespace resource. This can be used to create namespaces for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cPROJECT_ID\u003e\",\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n description=\"foo namespace\",\n resource_quota=rancher2.NamespaceResourceQuotaArgs(\n limit=rancher2.NamespaceResourceQuotaLimitArgs(\n limits_cpu=\"100m\",\n limits_memory=\"100Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespace\n\t\t_, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: \u003cPROJECT_ID\u003e\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Namespace assigned to default cluster project\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config=rancher2.ClusterRkeConfigArgs(\n network=rancher2.ClusterRkeConfigNetworkArgs(\n plugin=\"canal\",\n ),\n ))\n# Create a new rancher2 Namespace assigned to default cluster project\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=foo_custom.default_project_id,\n description=\"foo namespace\",\n resource_quota=rancher2.NamespaceResourceQuotaArgs(\n limit=rancher2.NamespaceResourceQuotaLimitArgs(\n limits_cpu=\"100m\",\n limits_memory=\"100Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace assigned to default cluster project\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: foo_custom.DefaultProjectId,\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Namespace assigned to default cluster project\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNamespaces can be imported using the namespace ID in the format `\u003cproject_id\u003e.\u003cnamespace_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/namespace:Namespace foo \u0026lt;project_id\u0026gt;.\u0026lt;namespaces_id\u0026gt;\n```\n\n`\u003cproject_id\u003e` is in the format `\u003ccluster_id\u003e:\u003cid\u003e`, but \u003cid\u003e part is optional: \n\n- If full project_id is provided, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e`, the namespace'll be assigned to corresponding cluster project once it's imported. \n\n- If `\u003cid\u003e` part is omitted `\u003cproject_id\u003e=\u003ccluster_id\u003e`, the namespace'll not be assigned to any project. To move it into a project, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e` needs to be updated in tf file. Namespace movement is only supported inside same `cluster_id`.\n\n", + "description": "Provides a Rancher v2 Namespace resource. This can be used to create namespaces for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespace\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: \"\u003cPROJECT_ID\u003e\",\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespace\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=\"\u003cPROJECT_ID\u003e\",\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespace\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = \"\u003cPROJECT_ID\u003e\",\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespace\n\t\t_, err := rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cPROJECT_ID\u003e\"),\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Namespace\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(\"\u003cPROJECT_ID\u003e\")\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespace\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: \u003cPROJECT_ID\u003e\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Cluster \nconst foo_custom = new rancher2.Cluster(\"foo-custom\", {\n name: \"foo-custom\",\n description: \"Foo rancher2 custom cluster\",\n rkeConfig: {\n network: {\n plugin: \"canal\",\n },\n },\n});\n// Create a new rancher2 Namespace assigned to default cluster project\nconst foo = new rancher2.Namespace(\"foo\", {\n name: \"foo\",\n projectId: foo_custom.defaultProjectId,\n description: \"foo namespace\",\n resourceQuota: {\n limit: {\n limitsCpu: \"100m\",\n limitsMemory: \"100Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Cluster \nfoo_custom = rancher2.Cluster(\"foo-custom\",\n name=\"foo-custom\",\n description=\"Foo rancher2 custom cluster\",\n rke_config={\n \"network\": {\n \"plugin\": \"canal\",\n },\n })\n# Create a new rancher2 Namespace assigned to default cluster project\nfoo = rancher2.Namespace(\"foo\",\n name=\"foo\",\n project_id=foo_custom.default_project_id,\n description=\"foo namespace\",\n resource_quota={\n \"limit\": {\n \"limits_cpu\": \"100m\",\n \"limits_memory\": \"100Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Cluster \n var foo_custom = new Rancher2.Cluster(\"foo-custom\", new()\n {\n Name = \"foo-custom\",\n Description = \"Foo rancher2 custom cluster\",\n RkeConfig = new Rancher2.Inputs.ClusterRkeConfigArgs\n {\n Network = new Rancher2.Inputs.ClusterRkeConfigNetworkArgs\n {\n Plugin = \"canal\",\n },\n },\n });\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Rancher2.Namespace(\"foo\", new()\n {\n Name = \"foo\",\n ProjectId = foo_custom.DefaultProjectId,\n Description = \"foo namespace\",\n ResourceQuota = new Rancher2.Inputs.NamespaceResourceQuotaArgs\n {\n Limit = new Rancher2.Inputs.NamespaceResourceQuotaLimitArgs\n {\n LimitsCpu = \"100m\",\n LimitsMemory = \"100Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.NamespaceContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Cluster\n\t\t_, err := rancher2.NewCluster(ctx, \"foo-custom\", \u0026rancher2.ClusterArgs{\n\t\t\tName: pulumi.String(\"foo-custom\"),\n\t\t\tDescription: pulumi.String(\"Foo rancher2 custom cluster\"),\n\t\t\tRkeConfig: \u0026rancher2.ClusterRkeConfigArgs{\n\t\t\t\tNetwork: \u0026rancher2.ClusterRkeConfigNetworkArgs{\n\t\t\t\t\tPlugin: pulumi.String(\"canal\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Namespace assigned to default cluster project\n\t\t_, err = rancher2.NewNamespace(ctx, \"foo\", \u0026rancher2.NamespaceArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tProjectId: foo_custom.DefaultProjectId,\n\t\t\tDescription: pulumi.String(\"foo namespace\"),\n\t\t\tResourceQuota: \u0026rancher2.NamespaceResourceQuotaArgs{\n\t\t\t\tLimit: \u0026rancher2.NamespaceResourceQuotaLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"100m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"100Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.NamespaceContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Cluster;\nimport com.pulumi.rancher2.ClusterArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigArgs;\nimport com.pulumi.rancher2.inputs.ClusterRkeConfigNetworkArgs;\nimport com.pulumi.rancher2.Namespace;\nimport com.pulumi.rancher2.NamespaceArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.NamespaceResourceQuotaLimitArgs;\nimport com.pulumi.rancher2.inputs.NamespaceContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Cluster \n var foo_custom = new Cluster(\"foo-custom\", ClusterArgs.builder()\n .name(\"foo-custom\")\n .description(\"Foo rancher2 custom cluster\")\n .rkeConfig(ClusterRkeConfigArgs.builder()\n .network(ClusterRkeConfigNetworkArgs.builder()\n .plugin(\"canal\")\n .build())\n .build())\n .build());\n\n // Create a new rancher2 Namespace assigned to default cluster project\n var foo = new Namespace(\"foo\", NamespaceArgs.builder()\n .name(\"foo\")\n .projectId(foo_custom.defaultProjectId())\n .description(\"foo namespace\")\n .resourceQuota(NamespaceResourceQuotaArgs.builder()\n .limit(NamespaceResourceQuotaLimitArgs.builder()\n .limitsCpu(\"100m\")\n .limitsMemory(\"100Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(NamespaceContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Cluster\n foo-custom:\n type: rancher2:Cluster\n properties:\n name: foo-custom\n description: Foo rancher2 custom cluster\n rkeConfig:\n network:\n plugin: canal\n # Create a new rancher2 Namespace assigned to default cluster project\n foo:\n type: rancher2:Namespace\n properties:\n name: foo\n projectId: ${[\"foo-custom\"].defaultProjectId}\n description: foo namespace\n resourceQuota:\n limit:\n limitsCpu: 100m\n limitsMemory: 100Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNamespaces can be imported using the namespace ID in the format `\u003cproject_id\u003e.\u003cnamespace_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/namespace:Namespace foo \u0026lt;project_id\u0026gt;.\u0026lt;namespaces_id\u0026gt;\n```\n\n`\u003cproject_id\u003e` is in the format `\u003ccluster_id\u003e:\u003cid\u003e`, but \u003cid\u003e part is optional: \n\n- If full project_id is provided, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e`, the namespace'll be assigned to corresponding cluster project once it's imported. \n\n- If `\u003cid\u003e` part is omitted `\u003cproject_id\u003e=\u003ccluster_id\u003e`, the namespace'll not be assigned to any project. To move it into a project, `\u003cproject_id\u003e=\u003ccluster_id\u003e:\u003cid\u003e` needs to be updated in tf file. Namespace movement is only supported inside same `cluster_id`.\n\n", "properties": { "annotations": { "type": "object", @@ -29857,7 +29857,7 @@ } }, "rancher2:index/nodeTemplate:NodeTemplate": { - "description": "Provides a Rancher v2 Node Template resource. This can be used to create Node Template for Rancher v2 and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, opennebula, openstack, outscale, hetzner and vsphere drivers are supported for node templates.\n\n**Note:** If you are upgrading to Rancher v2.3.3, please take a look to final section\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template up to Rancher 2.1.x\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"AWS_ACCESS_KEY\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template up to Rancher 2.1.x\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs(\n access_key=\"AWS_ACCESS_KEY\",\n secret_key=\"\u003cAWS_SECRET_KEY\u003e\",\n ami=\"\u003cAMI_ID\u003e\",\n region=\"\u003cREGION\u003e\",\n security_groups=[\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnet_id=\"\u003cSUBNET_ID\u003e\",\n vpc_id=\"\u003cVPC_ID\u003e\",\n zone=\"\u003cZONE\u003e\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"AWS_ACCESS_KEY\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template up to Rancher 2.1.x\n\t\t_, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"AWS_ACCESS_KEY\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"AWS_ACCESS_KEY\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template up to Rancher 2.1.x\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: AWS_ACCESS_KEY\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template from Rancher 2.2.x\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\nconst fooNodeTemplate = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n cloudCredentialId: foo.id,\n amazonec2Config: {\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template from Rancher 2.2.x\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs(\n access_key=\"\u003cAWS_ACCESS_KEY\u003e\",\n secret_key=\"\u003cAWS_SECRET_KEY\u003e\",\n ))\nfoo_node_template = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n cloud_credential_id=foo.id,\n amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs(\n ami=\"\u003cAMI_ID\u003e\",\n region=\"\u003cREGION\u003e\",\n security_groups=[\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnet_id=\"\u003cSUBNET_ID\u003e\",\n vpc_id=\"\u003cVPC_ID\u003e\",\n zone=\"\u003cZONE\u003e\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n var fooNodeTemplate = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n CloudCredentialId = foo.Id,\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template from Rancher 2.2.x\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tCloudCredentialId: foo.ID(),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n var fooNodeTemplate = new NodeTemplate(\"fooNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .cloudCredentialId(foo.id())\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template from Rancher 2.2.x\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n fooNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo\n properties:\n name: foo\n description: foo test\n cloudCredentialId: ${foo.id}\n amazonec2Config:\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 Node Template using harvester node_driver\nconst foo_harvesterNodeTemplate = new rancher2.NodeTemplate(\"foo-harvester\", {\n name: \"foo-harvester\",\n cloudCredentialId: foo_harvesterCloudCredential.id,\n engineInstallUrl: \"https://releases.rancher.com/install-docker/20.10.sh\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs(\n cluster_id=foo_harvester.cluster_v1_id,\n cluster_type=\"imported\",\n kubeconfig_content=foo_harvester.kube_config,\n ))\n# Create a new rancher2 Node Template using harvester node_driver\nfoo_harvester_node_template = rancher2.NodeTemplate(\"foo-harvester\",\n name=\"foo-harvester\",\n cloud_credential_id=foo_harvester_cloud_credential.id,\n engine_install_url=\"https://releases.rancher.com/install-docker/20.10.sh\",\n harvester_config=rancher2.NodeTemplateHarvesterConfigArgs(\n vm_namespace=\"default\",\n cpu_count=\"2\",\n memory_size=\"4\",\n disk_info=\"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n network_info=\"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n ssh_user=\"ubuntu\",\n user_data=\"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new Rancher2.NodeTemplate(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n CloudCredentialId = foo_harvesterCloudCredential.Id,\n EngineInstallUrl = \"https://releases.rancher.com/install-docker/20.10.sh\",\n HarvesterConfig = new Rancher2.Inputs.NodeTemplateHarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template using harvester node_driver\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo-harvester\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tCloudCredentialId: foo_harvesterCloudCredential.ID(),\n\t\t\tEngineInstallUrl: pulumi.String(\"https://releases.rancher.com/install-docker/20.10.sh\"),\n\t\t\tHarvesterConfig: \u0026rancher2.NodeTemplateHarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHarvesterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new NodeTemplate(\"foo-harvesterNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo-harvester\")\n .cloudCredentialId(foo_harvesterCloudCredential.id())\n .engineInstallUrl(\"https://releases.rancher.com/install-docker/20.10.sh\")\n .harvesterConfig(NodeTemplateHarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 Node Template using harvester node_driver\n foo-harvesterNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo-harvester\n properties:\n name: foo-harvester\n cloudCredentialId: ${[\"foo-harvesterCloudCredential\"].id}\n engineInstallUrl: https://releases.rancher.com/install-docker/20.10.sh\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Hetzner Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template using hetzner node_driver\nconst hetznerNodeDriver = new rancher2.NodeDriver(\"hetzner_node_driver\", {\n active: true,\n builtin: false,\n name: \"Hetzner\",\n uiUrl: \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url: \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelistDomains: [\"storage.googleapis.com\"],\n});\nconst myHetznerNodeTemplate = new rancher2.NodeTemplate(\"my_hetzner_node_template\", {\n name: \"my-hetzner-node-template\",\n driverId: hetznerNodeDriver.id,\n hetznerConfig: {\n apiToken: \"XXXXXXXXXX\",\n image: \"ubuntu-18.04\",\n serverLocation: \"nbg1\",\n serverType: \"cx11\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template using hetzner node_driver\nhetzner_node_driver = rancher2.NodeDriver(\"hetzner_node_driver\",\n active=True,\n builtin=False,\n name=\"Hetzner\",\n ui_url=\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url=\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelist_domains=[\"storage.googleapis.com\"])\nmy_hetzner_node_template = rancher2.NodeTemplate(\"my_hetzner_node_template\",\n name=\"my-hetzner-node-template\",\n driver_id=hetzner_node_driver.id,\n hetzner_config=rancher2.NodeTemplateHetznerConfigArgs(\n api_token=\"XXXXXXXXXX\",\n image=\"ubuntu-18.04\",\n server_location=\"nbg1\",\n server_type=\"cx11\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new Rancher2.NodeDriver(\"hetzner_node_driver\", new()\n {\n Active = true,\n Builtin = false,\n Name = \"Hetzner\",\n UiUrl = \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n Url = \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n WhitelistDomains = new[]\n {\n \"storage.googleapis.com\",\n },\n });\n\n var myHetznerNodeTemplate = new Rancher2.NodeTemplate(\"my_hetzner_node_template\", new()\n {\n Name = \"my-hetzner-node-template\",\n DriverId = hetznerNodeDriver.Id,\n HetznerConfig = new Rancher2.Inputs.NodeTemplateHetznerConfigArgs\n {\n ApiToken = \"XXXXXXXXXX\",\n Image = \"ubuntu-18.04\",\n ServerLocation = \"nbg1\",\n ServerType = \"cx11\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template using hetzner node_driver\n\t\thetznerNodeDriver, err := rancher2.NewNodeDriver(ctx, \"hetzner_node_driver\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"Hetzner\"),\n\t\t\tUiUrl: pulumi.String(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\"),\n\t\t\tUrl: pulumi.String(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"storage.googleapis.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"my_hetzner_node_template\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"my-hetzner-node-template\"),\n\t\t\tDriverId: hetznerNodeDriver.ID(),\n\t\t\tHetznerConfig: \u0026rancher2.NodeTemplateHetznerConfigArgs{\n\t\t\t\tApiToken: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\tImage: pulumi.String(\"ubuntu-18.04\"),\n\t\t\t\tServerLocation: pulumi.String(\"nbg1\"),\n\t\t\t\tServerType: pulumi.String(\"cx11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHetznerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new NodeDriver(\"hetznerNodeDriver\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .name(\"Hetzner\")\n .uiUrl(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\")\n .url(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\")\n .whitelistDomains(\"storage.googleapis.com\")\n .build());\n\n var myHetznerNodeTemplate = new NodeTemplate(\"myHetznerNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"my-hetzner-node-template\")\n .driverId(hetznerNodeDriver.id())\n .hetznerConfig(NodeTemplateHetznerConfigArgs.builder()\n .apiToken(\"XXXXXXXXXX\")\n .image(\"ubuntu-18.04\")\n .serverLocation(\"nbg1\")\n .serverType(\"cx11\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template using hetzner node_driver\n hetznerNodeDriver:\n type: rancher2:NodeDriver\n name: hetzner_node_driver\n properties:\n active: true\n builtin: false\n name: Hetzner\n uiUrl: https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\n url: https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\n whitelistDomains:\n - storage.googleapis.com\n myHetznerNodeTemplate:\n type: rancher2:NodeTemplate\n name: my_hetzner_node_template\n properties:\n name: my-hetzner-node-template\n driverId: ${hetznerNodeDriver.id}\n hetznerConfig:\n apiToken: XXXXXXXXXX\n image: ubuntu-18.04\n serverLocation: nbg1\n serverType: cx11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Upgrading to Rancher v2.3.3\n\n**Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed\n\nDue to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id.\n```\n\n## Import\n\nNode Template can be imported using the Rancher Node Template ID\n\n```sh\n$ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo \u0026lt;node_template_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Node Template resource. This can be used to create Node Template for Rancher v2 and retrieve their information.\n\namazonec2, azure, digitalocean, harvester, linode, opennebula, openstack, outscale, hetzner and vsphere drivers are supported for node templates.\n\n**Note:** If you are upgrading to Rancher v2.3.3, please take a look to final section\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template up to Rancher 2.1.x\nconst foo = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2Config: {\n accessKey: \"AWS_ACCESS_KEY\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template up to Rancher 2.1.x\nfoo = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_config={\n \"access_key\": \"AWS_ACCESS_KEY\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n AccessKey = \"AWS_ACCESS_KEY\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template up to Rancher 2.1.x\n\t\t_, err := rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"AWS_ACCESS_KEY\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template up to Rancher 2.1.x\n var foo = new NodeTemplate(\"foo\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .accessKey(\"AWS_ACCESS_KEY\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template up to Rancher 2.1.x\n foo:\n type: rancher2:NodeTemplate\n properties:\n name: foo\n description: foo test\n amazonec2Config:\n accessKey: AWS_ACCESS_KEY\n secretKey: \u003cAWS_SECRET_KEY\u003e\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template from Rancher 2.2.x\nconst foo = new rancher2.CloudCredential(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n amazonec2CredentialConfig: {\n accessKey: \"\u003cAWS_ACCESS_KEY\u003e\",\n secretKey: \"\u003cAWS_SECRET_KEY\u003e\",\n },\n});\nconst fooNodeTemplate = new rancher2.NodeTemplate(\"foo\", {\n name: \"foo\",\n description: \"foo test\",\n cloudCredentialId: foo.id,\n amazonec2Config: {\n ami: \"\u003cAMI_ID\u003e\",\n region: \"\u003cREGION\u003e\",\n securityGroups: [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n subnetId: \"\u003cSUBNET_ID\u003e\",\n vpcId: \"\u003cVPC_ID\u003e\",\n zone: \"\u003cZONE\u003e\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template from Rancher 2.2.x\nfoo = rancher2.CloudCredential(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n amazonec2_credential_config={\n \"access_key\": \"\u003cAWS_ACCESS_KEY\u003e\",\n \"secret_key\": \"\u003cAWS_SECRET_KEY\u003e\",\n })\nfoo_node_template = rancher2.NodeTemplate(\"foo\",\n name=\"foo\",\n description=\"foo test\",\n cloud_credential_id=foo.id,\n amazonec2_config={\n \"ami\": \"\u003cAMI_ID\u003e\",\n \"region\": \"\u003cREGION\u003e\",\n \"security_groups\": [\"\u003cAWS_SECURITY_GROUP\u003e\"],\n \"subnet_id\": \"\u003cSUBNET_ID\u003e\",\n \"vpc_id\": \"\u003cVPC_ID\u003e\",\n \"zone\": \"\u003cZONE\u003e\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new Rancher2.CloudCredential(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n Amazonec2CredentialConfig = new Rancher2.Inputs.CloudCredentialAmazonec2CredentialConfigArgs\n {\n AccessKey = \"\u003cAWS_ACCESS_KEY\u003e\",\n SecretKey = \"\u003cAWS_SECRET_KEY\u003e\",\n },\n });\n\n var fooNodeTemplate = new Rancher2.NodeTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"foo test\",\n CloudCredentialId = foo.Id,\n Amazonec2Config = new Rancher2.Inputs.NodeTemplateAmazonec2ConfigArgs\n {\n Ami = \"\u003cAMI_ID\u003e\",\n Region = \"\u003cREGION\u003e\",\n SecurityGroups = new[]\n {\n \"\u003cAWS_SECURITY_GROUP\u003e\",\n },\n SubnetId = \"\u003cSUBNET_ID\u003e\",\n VpcId = \"\u003cVPC_ID\u003e\",\n Zone = \"\u003cZONE\u003e\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template from Rancher 2.2.x\n\t\tfoo, err := rancher2.NewCloudCredential(ctx, \"foo\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tAmazonec2CredentialConfig: \u0026rancher2.CloudCredentialAmazonec2CredentialConfigArgs{\n\t\t\t\tAccessKey: pulumi.String(\"\u003cAWS_ACCESS_KEY\u003e\"),\n\t\t\t\tSecretKey: pulumi.String(\"\u003cAWS_SECRET_KEY\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"foo test\"),\n\t\t\tCloudCredentialId: foo.ID(),\n\t\t\tAmazonec2Config: \u0026rancher2.NodeTemplateAmazonec2ConfigArgs{\n\t\t\t\tAmi: pulumi.String(\"\u003cAMI_ID\u003e\"),\n\t\t\t\tRegion: pulumi.String(\"\u003cREGION\u003e\"),\n\t\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003cAWS_SECURITY_GROUP\u003e\"),\n\t\t\t\t},\n\t\t\t\tSubnetId: pulumi.String(\"\u003cSUBNET_ID\u003e\"),\n\t\t\t\tVpcId: pulumi.String(\"\u003cVPC_ID\u003e\"),\n\t\t\t\tZone: pulumi.String(\"\u003cZONE\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialAmazonec2CredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateAmazonec2ConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template from Rancher 2.2.x\n var foo = new CloudCredential(\"foo\", CloudCredentialArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .amazonec2CredentialConfig(CloudCredentialAmazonec2CredentialConfigArgs.builder()\n .accessKey(\"\u003cAWS_ACCESS_KEY\u003e\")\n .secretKey(\"\u003cAWS_SECRET_KEY\u003e\")\n .build())\n .build());\n\n var fooNodeTemplate = new NodeTemplate(\"fooNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo\")\n .description(\"foo test\")\n .cloudCredentialId(foo.id())\n .amazonec2Config(NodeTemplateAmazonec2ConfigArgs.builder()\n .ami(\"\u003cAMI_ID\u003e\")\n .region(\"\u003cREGION\u003e\")\n .securityGroups(\"\u003cAWS_SECURITY_GROUP\u003e\")\n .subnetId(\"\u003cSUBNET_ID\u003e\")\n .vpcId(\"\u003cVPC_ID\u003e\")\n .zone(\"\u003cZONE\u003e\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template from Rancher 2.2.x\n foo:\n type: rancher2:CloudCredential\n properties:\n name: foo\n description: foo test\n amazonec2CredentialConfig:\n accessKey: \u003cAWS_ACCESS_KEY\u003e\n secretKey: \u003cAWS_SECRET_KEY\u003e\n fooNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo\n properties:\n name: foo\n description: foo test\n cloudCredentialId: ${foo.id}\n amazonec2Config:\n ami: \u003cAMI_ID\u003e\n region: \u003cREGION\u003e\n securityGroups:\n - \u003cAWS_SECURITY_GROUP\u003e\n subnetId: \u003cSUBNET_ID\u003e\n vpcId: \u003cVPC_ID\u003e\n zone: \u003cZONE\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Harvester Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Get imported harvester cluster info\nconst foo-harvester = rancher2.getClusterV2({\n name: \"foo-harvester\",\n});\n// Create a new Cloud Credential for an imported Harvester cluster\nconst foo_harvesterCloudCredential = new rancher2.CloudCredential(\"foo-harvester\", {\n name: \"foo-harvester\",\n harvesterCredentialConfig: {\n clusterId: foo_harvester.then(foo_harvester =\u003e foo_harvester.clusterV1Id),\n clusterType: \"imported\",\n kubeconfigContent: foo_harvester.then(foo_harvester =\u003e foo_harvester.kubeConfig),\n },\n});\n// Create a new rancher2 Node Template using harvester node_driver\nconst foo_harvesterNodeTemplate = new rancher2.NodeTemplate(\"foo-harvester\", {\n name: \"foo-harvester\",\n cloudCredentialId: foo_harvesterCloudCredential.id,\n engineInstallUrl: \"https://releases.rancher.com/install-docker/20.10.sh\",\n harvesterConfig: {\n vmNamespace: \"default\",\n cpuCount: \"2\",\n memorySize: \"4\",\n diskInfo: ` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`,\n networkInfo: ` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`,\n sshUser: \"ubuntu\",\n userData: ` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`,\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Get imported harvester cluster info\nfoo_harvester = rancher2.get_cluster_v2(name=\"foo-harvester\")\n# Create a new Cloud Credential for an imported Harvester cluster\nfoo_harvester_cloud_credential = rancher2.CloudCredential(\"foo-harvester\",\n name=\"foo-harvester\",\n harvester_credential_config={\n \"cluster_id\": foo_harvester.cluster_v1_id,\n \"cluster_type\": \"imported\",\n \"kubeconfig_content\": foo_harvester.kube_config,\n })\n# Create a new rancher2 Node Template using harvester node_driver\nfoo_harvester_node_template = rancher2.NodeTemplate(\"foo-harvester\",\n name=\"foo-harvester\",\n cloud_credential_id=foo_harvester_cloud_credential.id,\n engine_install_url=\"https://releases.rancher.com/install-docker/20.10.sh\",\n harvester_config={\n \"vm_namespace\": \"default\",\n \"cpu_count\": \"2\",\n \"memory_size\": \"4\",\n \"disk_info\": \"\"\" {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n\"\"\",\n \"network_info\": \"\"\" {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n\"\"\",\n \"ssh_user\": \"ubuntu\",\n \"user_data\": \"\"\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\"\"\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Get imported harvester cluster info\n var foo_harvester = Rancher2.GetClusterV2.Invoke(new()\n {\n Name = \"foo-harvester\",\n });\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new Rancher2.CloudCredential(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n HarvesterCredentialConfig = new Rancher2.Inputs.CloudCredentialHarvesterCredentialConfigArgs\n {\n ClusterId = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.ClusterV1Id)),\n ClusterType = \"imported\",\n KubeconfigContent = foo_harvester.Apply(foo_harvester =\u003e foo_harvester.Apply(getClusterV2Result =\u003e getClusterV2Result.KubeConfig)),\n },\n });\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new Rancher2.NodeTemplate(\"foo-harvester\", new()\n {\n Name = \"foo-harvester\",\n CloudCredentialId = foo_harvesterCloudCredential.Id,\n EngineInstallUrl = \"https://releases.rancher.com/install-docker/20.10.sh\",\n HarvesterConfig = new Rancher2.Inputs.NodeTemplateHarvesterConfigArgs\n {\n VmNamespace = \"default\",\n CpuCount = \"2\",\n MemorySize = \"4\",\n DiskInfo = @\" {\n \"\"disks\"\": [{\n \"\"imageName\"\": \"\"harvester-public/image-57hzg\"\",\n \"\"size\"\": 40,\n \"\"bootOrder\"\": 1\n }]\n }\n\",\n NetworkInfo = @\" {\n \"\"interfaces\"\": [{\n \"\"networkName\"\": \"\"harvester-public/vlan1\"\"\n }]\n }\n\",\n SshUser = \"ubuntu\",\n UserData = @\" package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get imported harvester cluster info\n\t\tfoo_harvester, err := rancher2.LookupClusterV2(ctx, \u0026rancher2.LookupClusterV2Args{\n\t\t\tName: \"foo-harvester\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Cloud Credential for an imported Harvester cluster\n\t\t_, err = rancher2.NewCloudCredential(ctx, \"foo-harvester\", \u0026rancher2.CloudCredentialArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tHarvesterCredentialConfig: \u0026rancher2.CloudCredentialHarvesterCredentialConfigArgs{\n\t\t\t\tClusterId: pulumi.String(foo_harvester.ClusterV1Id),\n\t\t\t\tClusterType: pulumi.String(\"imported\"),\n\t\t\t\tKubeconfigContent: pulumi.String(foo_harvester.KubeConfig),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new rancher2 Node Template using harvester node_driver\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"foo-harvester\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"foo-harvester\"),\n\t\t\tCloudCredentialId: foo_harvesterCloudCredential.ID(),\n\t\t\tEngineInstallUrl: pulumi.String(\"https://releases.rancher.com/install-docker/20.10.sh\"),\n\t\t\tHarvesterConfig: \u0026rancher2.NodeTemplateHarvesterConfigArgs{\n\t\t\t\tVmNamespace: pulumi.String(\"default\"),\n\t\t\t\tCpuCount: pulumi.String(\"2\"),\n\t\t\t\tMemorySize: pulumi.String(\"4\"),\n\t\t\t\tDiskInfo: pulumi.String(` {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n`),\n\t\t\t\tNetworkInfo: pulumi.String(` {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n`),\n\t\t\t\tSshUser: pulumi.String(\"ubuntu\"),\n\t\t\t\tUserData: pulumi.String(` package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n`),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Rancher2Functions;\nimport com.pulumi.rancher2.inputs.GetClusterV2Args;\nimport com.pulumi.rancher2.CloudCredential;\nimport com.pulumi.rancher2.CloudCredentialArgs;\nimport com.pulumi.rancher2.inputs.CloudCredentialHarvesterCredentialConfigArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHarvesterConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Get imported harvester cluster info\n final var foo-harvester = Rancher2Functions.getClusterV2(GetClusterV2Args.builder()\n .name(\"foo-harvester\")\n .build());\n\n // Create a new Cloud Credential for an imported Harvester cluster\n var foo_harvesterCloudCredential = new CloudCredential(\"foo-harvesterCloudCredential\", CloudCredentialArgs.builder()\n .name(\"foo-harvester\")\n .harvesterCredentialConfig(CloudCredentialHarvesterCredentialConfigArgs.builder()\n .clusterId(foo_harvester.clusterV1Id())\n .clusterType(\"imported\")\n .kubeconfigContent(foo_harvester.kubeConfig())\n .build())\n .build());\n\n // Create a new rancher2 Node Template using harvester node_driver\n var foo_harvesterNodeTemplate = new NodeTemplate(\"foo-harvesterNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"foo-harvester\")\n .cloudCredentialId(foo_harvesterCloudCredential.id())\n .engineInstallUrl(\"https://releases.rancher.com/install-docker/20.10.sh\")\n .harvesterConfig(NodeTemplateHarvesterConfigArgs.builder()\n .vmNamespace(\"default\")\n .cpuCount(\"2\")\n .memorySize(\"4\")\n .diskInfo(\"\"\"\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n \"\"\")\n .networkInfo(\"\"\"\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n \"\"\")\n .sshUser(\"ubuntu\")\n .userData(\"\"\"\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\n \"\"\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Cloud Credential for an imported Harvester cluster\n foo-harvesterCloudCredential:\n type: rancher2:CloudCredential\n name: foo-harvester\n properties:\n name: foo-harvester\n harvesterCredentialConfig:\n clusterId: ${[\"foo-harvester\"].clusterV1Id}\n clusterType: imported\n kubeconfigContent: ${[\"foo-harvester\"].kubeConfig}\n # Create a new rancher2 Node Template using harvester node_driver\n foo-harvesterNodeTemplate:\n type: rancher2:NodeTemplate\n name: foo-harvester\n properties:\n name: foo-harvester\n cloudCredentialId: ${[\"foo-harvesterCloudCredential\"].id}\n engineInstallUrl: https://releases.rancher.com/install-docker/20.10.sh\n harvesterConfig:\n vmNamespace: default\n cpuCount: '2'\n memorySize: '4'\n diskInfo: |2\n {\n \"disks\": [{\n \"imageName\": \"harvester-public/image-57hzg\",\n \"size\": 40,\n \"bootOrder\": 1\n }]\n }\n networkInfo: |2\n {\n \"interfaces\": [{\n \"networkName\": \"harvester-public/vlan1\"\n }]\n }\n sshUser: ubuntu\n userData: |2\n package_update: true\n packages:\n - qemu-guest-agent\n - iptables\n runcmd:\n - - systemctl\n - enable\n - '--now'\n - qemu-guest-agent.service\nvariables:\n # Get imported harvester cluster info\n foo-harvester:\n fn::invoke:\n Function: rancher2:getClusterV2\n Arguments:\n name: foo-harvester\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Using the Hetzner Node Driver\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Node Template using hetzner node_driver\nconst hetznerNodeDriver = new rancher2.NodeDriver(\"hetzner_node_driver\", {\n active: true,\n builtin: false,\n name: \"Hetzner\",\n uiUrl: \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url: \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelistDomains: [\"storage.googleapis.com\"],\n});\nconst myHetznerNodeTemplate = new rancher2.NodeTemplate(\"my_hetzner_node_template\", {\n name: \"my-hetzner-node-template\",\n driverId: hetznerNodeDriver.id,\n hetznerConfig: {\n apiToken: \"XXXXXXXXXX\",\n image: \"ubuntu-18.04\",\n serverLocation: \"nbg1\",\n serverType: \"cx11\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Node Template using hetzner node_driver\nhetzner_node_driver = rancher2.NodeDriver(\"hetzner_node_driver\",\n active=True,\n builtin=False,\n name=\"Hetzner\",\n ui_url=\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n url=\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n whitelist_domains=[\"storage.googleapis.com\"])\nmy_hetzner_node_template = rancher2.NodeTemplate(\"my_hetzner_node_template\",\n name=\"my-hetzner-node-template\",\n driver_id=hetzner_node_driver.id,\n hetzner_config={\n \"api_token\": \"XXXXXXXXXX\",\n \"image\": \"ubuntu-18.04\",\n \"server_location\": \"nbg1\",\n \"server_type\": \"cx11\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new Rancher2.NodeDriver(\"hetzner_node_driver\", new()\n {\n Active = true,\n Builtin = false,\n Name = \"Hetzner\",\n UiUrl = \"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\",\n Url = \"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\",\n WhitelistDomains = new[]\n {\n \"storage.googleapis.com\",\n },\n });\n\n var myHetznerNodeTemplate = new Rancher2.NodeTemplate(\"my_hetzner_node_template\", new()\n {\n Name = \"my-hetzner-node-template\",\n DriverId = hetznerNodeDriver.Id,\n HetznerConfig = new Rancher2.Inputs.NodeTemplateHetznerConfigArgs\n {\n ApiToken = \"XXXXXXXXXX\",\n Image = \"ubuntu-18.04\",\n ServerLocation = \"nbg1\",\n ServerType = \"cx11\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Node Template using hetzner node_driver\n\t\thetznerNodeDriver, err := rancher2.NewNodeDriver(ctx, \"hetzner_node_driver\", \u0026rancher2.NodeDriverArgs{\n\t\t\tActive: pulumi.Bool(true),\n\t\t\tBuiltin: pulumi.Bool(false),\n\t\t\tName: pulumi.String(\"Hetzner\"),\n\t\t\tUiUrl: pulumi.String(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\"),\n\t\t\tUrl: pulumi.String(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\"),\n\t\t\tWhitelistDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"storage.googleapis.com\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = rancher2.NewNodeTemplate(ctx, \"my_hetzner_node_template\", \u0026rancher2.NodeTemplateArgs{\n\t\t\tName: pulumi.String(\"my-hetzner-node-template\"),\n\t\t\tDriverId: hetznerNodeDriver.ID(),\n\t\t\tHetznerConfig: \u0026rancher2.NodeTemplateHetznerConfigArgs{\n\t\t\t\tApiToken: pulumi.String(\"XXXXXXXXXX\"),\n\t\t\t\tImage: pulumi.String(\"ubuntu-18.04\"),\n\t\t\t\tServerLocation: pulumi.String(\"nbg1\"),\n\t\t\t\tServerType: pulumi.String(\"cx11\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.NodeDriver;\nimport com.pulumi.rancher2.NodeDriverArgs;\nimport com.pulumi.rancher2.NodeTemplate;\nimport com.pulumi.rancher2.NodeTemplateArgs;\nimport com.pulumi.rancher2.inputs.NodeTemplateHetznerConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Node Template using hetzner node_driver\n var hetznerNodeDriver = new NodeDriver(\"hetznerNodeDriver\", NodeDriverArgs.builder()\n .active(true)\n .builtin(false)\n .name(\"Hetzner\")\n .uiUrl(\"https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\")\n .url(\"https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\")\n .whitelistDomains(\"storage.googleapis.com\")\n .build());\n\n var myHetznerNodeTemplate = new NodeTemplate(\"myHetznerNodeTemplate\", NodeTemplateArgs.builder()\n .name(\"my-hetzner-node-template\")\n .driverId(hetznerNodeDriver.id())\n .hetznerConfig(NodeTemplateHetznerConfigArgs.builder()\n .apiToken(\"XXXXXXXXXX\")\n .image(\"ubuntu-18.04\")\n .serverLocation(\"nbg1\")\n .serverType(\"cx11\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Node Template using hetzner node_driver\n hetznerNodeDriver:\n type: rancher2:NodeDriver\n name: hetzner_node_driver\n properties:\n active: true\n builtin: false\n name: Hetzner\n uiUrl: https://storage.googleapis.com/hcloud-rancher-v2-ui-driver/component.js\n url: https://github.com/JonasProgrammer/docker-machine-driver-hetzner/releases/download/3.6.0/docker-machine-driver-hetzner_3.6.0_linux_amd64.tar.gz\n whitelistDomains:\n - storage.googleapis.com\n myHetznerNodeTemplate:\n type: rancher2:NodeTemplate\n name: my_hetzner_node_template\n properties:\n name: my-hetzner-node-template\n driverId: ${hetznerNodeDriver.id}\n hetznerConfig:\n apiToken: XXXXXXXXXX\n image: ubuntu-18.04\n serverLocation: nbg1\n serverType: cx11\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Upgrading to Rancher v2.3.3\n\n**Important** This process could update `rancher2.NodeTemplate` data on tfstate file. Be sure to save a copy of tfstate file before proceed\n\nDue to [this feature](https://github.com/rancher/rancher/pull/23718) included on Rancher v2.3.3, `rancher2.NodeTemplate` are now global scoped objects with RBAC around them, instead of user scoped objects as they were. This means that existing node templates `id` field is changing on upgrade. Provider implements `fixNodeTemplateID()` that will update tfstate with proper id.\n```\n\n## Import\n\nNode Template can be imported using the Rancher Node Template ID\n\n```sh\n$ pulumi import rancher2:index/nodeTemplate:NodeTemplate foo \u0026lt;node_template_id\u0026gt;\n```\n", "properties": { "amazonec2Config": { "$ref": "#/types/rancher2:index/NodeTemplateAmazonec2Config:NodeTemplateAmazonec2Config", @@ -30288,7 +30288,7 @@ } }, "rancher2:index/notifier:Notifier": { - "description": "Provides a Rancher v2 Notifier resource. This can be used to create notifiers for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Notifier\nconst foo = new rancher2.Notifier(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n description: \"Terraform notifier acceptance test\",\n sendResolved: true,\n pagerdutyConfig: {\n serviceKey: \"XXXXXXXX\",\n proxyUrl: \"http://proxy.test.io\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Notifier\nfoo = rancher2.Notifier(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n description=\"Terraform notifier acceptance test\",\n send_resolved=True,\n pagerduty_config=rancher2.NotifierPagerdutyConfigArgs(\n service_key=\"XXXXXXXX\",\n proxy_url=\"http://proxy.test.io\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Notifier\n var foo = new Rancher2.Notifier(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n Description = \"Terraform notifier acceptance test\",\n SendResolved = true,\n PagerdutyConfig = new Rancher2.Inputs.NotifierPagerdutyConfigArgs\n {\n ServiceKey = \"XXXXXXXX\",\n ProxyUrl = \"http://proxy.test.io\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Notifier\n\t\t_, err := rancher2.NewNotifier(ctx, \"foo\", \u0026rancher2.NotifierArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform notifier acceptance test\"),\n\t\t\tSendResolved: pulumi.Bool(true),\n\t\t\tPagerdutyConfig: \u0026rancher2.NotifierPagerdutyConfigArgs{\n\t\t\t\tServiceKey: pulumi.String(\"XXXXXXXX\"),\n\t\t\t\tProxyUrl: pulumi.String(\"http://proxy.test.io\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Notifier;\nimport com.pulumi.rancher2.NotifierArgs;\nimport com.pulumi.rancher2.inputs.NotifierPagerdutyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Notifier\n var foo = new Notifier(\"foo\", NotifierArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .description(\"Terraform notifier acceptance test\")\n .sendResolved(\"true\")\n .pagerdutyConfig(NotifierPagerdutyConfigArgs.builder()\n .serviceKey(\"XXXXXXXX\")\n .proxyUrl(\"http://proxy.test.io\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Notifier\n foo:\n type: rancher2:Notifier\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n description: Terraform notifier acceptance test\n sendResolved: 'true'\n pagerdutyConfig:\n serviceKey: XXXXXXXX\n proxyUrl: http://proxy.test.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNotifiers can be imported using the Rancher nNtifier ID\n\n```sh\n$ pulumi import rancher2:index/notifier:Notifier foo \u0026lt;notifier_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Notifier resource. This can be used to create notifiers for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Notifier\nconst foo = new rancher2.Notifier(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n description: \"Terraform notifier acceptance test\",\n sendResolved: true,\n pagerdutyConfig: {\n serviceKey: \"XXXXXXXX\",\n proxyUrl: \"http://proxy.test.io\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Notifier\nfoo = rancher2.Notifier(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n description=\"Terraform notifier acceptance test\",\n send_resolved=True,\n pagerduty_config={\n \"service_key\": \"XXXXXXXX\",\n \"proxy_url\": \"http://proxy.test.io\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Notifier\n var foo = new Rancher2.Notifier(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n Description = \"Terraform notifier acceptance test\",\n SendResolved = true,\n PagerdutyConfig = new Rancher2.Inputs.NotifierPagerdutyConfigArgs\n {\n ServiceKey = \"XXXXXXXX\",\n ProxyUrl = \"http://proxy.test.io\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Notifier\n\t\t_, err := rancher2.NewNotifier(ctx, \"foo\", \u0026rancher2.NotifierArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform notifier acceptance test\"),\n\t\t\tSendResolved: pulumi.Bool(true),\n\t\t\tPagerdutyConfig: \u0026rancher2.NotifierPagerdutyConfigArgs{\n\t\t\t\tServiceKey: pulumi.String(\"XXXXXXXX\"),\n\t\t\t\tProxyUrl: pulumi.String(\"http://proxy.test.io\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Notifier;\nimport com.pulumi.rancher2.NotifierArgs;\nimport com.pulumi.rancher2.inputs.NotifierPagerdutyConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Notifier\n var foo = new Notifier(\"foo\", NotifierArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .description(\"Terraform notifier acceptance test\")\n .sendResolved(\"true\")\n .pagerdutyConfig(NotifierPagerdutyConfigArgs.builder()\n .serviceKey(\"XXXXXXXX\")\n .proxyUrl(\"http://proxy.test.io\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Notifier\n foo:\n type: rancher2:Notifier\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n description: Terraform notifier acceptance test\n sendResolved: 'true'\n pagerdutyConfig:\n serviceKey: XXXXXXXX\n proxyUrl: http://proxy.test.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nNotifiers can be imported using the Rancher nNtifier ID\n\n```sh\n$ pulumi import rancher2:index/notifier:Notifier foo \u0026lt;notifier_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -31085,7 +31085,7 @@ } }, "rancher2:index/project:Project": { - "description": "Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota=rancher2.ProjectResourceQuotaArgs(\n project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"2000Mi\",\n requests_storage=\"2Gi\",\n ),\n namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"500Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project enabling and customizing monitoring\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n enableProjectMonitoring: true,\n projectMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project enabling and customizing monitoring\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota=rancher2.ProjectResourceQuotaArgs(\n project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"2000Mi\",\n requests_storage=\"2Gi\",\n ),\n namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"500Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ),\n enable_project_monitoring=True,\n project_monitoring_input=rancher2.ProjectProjectMonitoringInputArgs(\n answers={\n \"exporter-kubelets.https\": True,\n \"exporter-node.enabled\": True,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": False,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project enabling and customizing monitoring\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n EnableProjectMonitoring = true,\n ProjectMonitoringInput = new Rancher2.Inputs.ProjectProjectMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project enabling and customizing monitoring\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t\tEnableProjectMonitoring: pulumi.Bool(true),\n\t\t\tProjectMonitoringInput: \u0026rancher2.ProjectProjectMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectProjectMonitoringInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project enabling and customizing monitoring\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .enableProjectMonitoring(true)\n .projectMonitoringInput(ProjectProjectMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project enabling and customizing monitoring\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n enableProjectMonitoring: true\n projectMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the Rancher Project ID\n\n```sh\n$ pulumi import rancher2:index/project:Project foo \u0026lt;project_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Project resource. This can be used to create projects for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project enabling and customizing monitoring\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003cCLUSTER_ID\u003e\",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n enableProjectMonitoring: true,\n projectMonitoringInput: {\n answers: {\n \"exporter-kubelets.https\": true,\n \"exporter-node.enabled\": true,\n \"exporter-node.ports.metrics.port\": 9796,\n \"exporter-node.resources.limits.cpu\": \"200m\",\n \"exporter-node.resources.limits.memory\": \"200Mi\",\n \"grafana.persistence.enabled\": false,\n \"grafana.persistence.size\": \"10Gi\",\n \"grafana.persistence.storageClass\": \"default\",\n \"operator.resources.limits.memory\": \"500Mi\",\n \"prometheus.persistence.enabled\": \"false\",\n \"prometheus.persistence.size\": \"50Gi\",\n \"prometheus.persistence.storageClass\": \"default\",\n \"prometheus.persistent.useReleaseName\": \"true\",\n \"prometheus.resources.core.limits.cpu\": \"1000m\",\n \"prometheus.resources.core.limits.memory\": \"1500Mi\",\n \"prometheus.resources.core.requests.cpu\": \"750m\",\n \"prometheus.resources.core.requests.memory\": \"750Mi\",\n \"prometheus.retention\": \"12h\",\n },\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project enabling and customizing monitoring\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003cCLUSTER_ID\u003e\",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n },\n enable_project_monitoring=True,\n project_monitoring_input={\n \"answers\": {\n \"exporter_kubelets_https\": True,\n \"exporter_node_enabled\": True,\n \"exporter_node_ports_metrics_port\": 9796,\n \"exporter_node_resources_limits_cpu\": \"200m\",\n \"exporter_node_resources_limits_memory\": \"200Mi\",\n \"grafana_persistence_enabled\": False,\n \"grafana_persistence_size\": \"10Gi\",\n \"grafana_persistence_storage_class\": \"default\",\n \"operator_resources_limits_memory\": \"500Mi\",\n \"prometheus_persistence_enabled\": \"false\",\n \"prometheus_persistence_size\": \"50Gi\",\n \"prometheus_persistence_storage_class\": \"default\",\n \"prometheus_persistent_use_release_name\": \"true\",\n \"prometheus_resources_core_limits_cpu\": \"1000m\",\n \"prometheus_resources_core_limits_memory\": \"1500Mi\",\n \"prometheus_resources_core_requests_cpu\": \"750m\",\n \"prometheus_resources_core_requests_memory\": \"750Mi\",\n \"prometheus_retention\": \"12h\",\n },\n })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project enabling and customizing monitoring\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003cCLUSTER_ID\u003e\",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n EnableProjectMonitoring = true,\n ProjectMonitoringInput = new Rancher2.Inputs.ProjectProjectMonitoringInputArgs\n {\n Answers = \n {\n { \"exporter-kubelets.https\", true },\n { \"exporter-node.enabled\", true },\n { \"exporter-node.ports.metrics.port\", 9796 },\n { \"exporter-node.resources.limits.cpu\", \"200m\" },\n { \"exporter-node.resources.limits.memory\", \"200Mi\" },\n { \"grafana.persistence.enabled\", false },\n { \"grafana.persistence.size\", \"10Gi\" },\n { \"grafana.persistence.storageClass\", \"default\" },\n { \"operator.resources.limits.memory\", \"500Mi\" },\n { \"prometheus.persistence.enabled\", \"false\" },\n { \"prometheus.persistence.size\", \"50Gi\" },\n { \"prometheus.persistence.storageClass\", \"default\" },\n { \"prometheus.persistent.useReleaseName\", \"true\" },\n { \"prometheus.resources.core.limits.cpu\", \"1000m\" },\n { \"prometheus.resources.core.limits.memory\", \"1500Mi\" },\n { \"prometheus.resources.core.requests.cpu\", \"750m\" },\n { \"prometheus.resources.core.requests.memory\", \"750Mi\" },\n { \"prometheus.retention\", \"12h\" },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project enabling and customizing monitoring\n\t\t_, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003cCLUSTER_ID\u003e\"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t\tEnableProjectMonitoring: pulumi.Bool(true),\n\t\t\tProjectMonitoringInput: \u0026rancher2.ProjectProjectMonitoringInputArgs{\n\t\t\t\tAnswers: pulumi.Map{\n\t\t\t\t\t\"exporter-kubelets.https\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.enabled\": pulumi.Any(true),\n\t\t\t\t\t\"exporter-node.ports.metrics.port\": pulumi.Any(9796),\n\t\t\t\t\t\"exporter-node.resources.limits.cpu\": pulumi.Any(\"200m\"),\n\t\t\t\t\t\"exporter-node.resources.limits.memory\": pulumi.Any(\"200Mi\"),\n\t\t\t\t\t\"grafana.persistence.enabled\": pulumi.Any(false),\n\t\t\t\t\t\"grafana.persistence.size\": pulumi.Any(\"10Gi\"),\n\t\t\t\t\t\"grafana.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"operator.resources.limits.memory\": pulumi.Any(\"500Mi\"),\n\t\t\t\t\t\"prometheus.persistence.enabled\": pulumi.Any(\"false\"),\n\t\t\t\t\t\"prometheus.persistence.size\": pulumi.Any(\"50Gi\"),\n\t\t\t\t\t\"prometheus.persistence.storageClass\": pulumi.Any(\"default\"),\n\t\t\t\t\t\"prometheus.persistent.useReleaseName\": pulumi.Any(\"true\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.cpu\": pulumi.Any(\"1000m\"),\n\t\t\t\t\t\"prometheus.resources.core.limits.memory\": pulumi.Any(\"1500Mi\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.cpu\": pulumi.Any(\"750m\"),\n\t\t\t\t\t\"prometheus.resources.core.requests.memory\": pulumi.Any(\"750Mi\"),\n\t\t\t\t\t\"prometheus.retention\": pulumi.Any(\"12h\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectProjectMonitoringInputArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project enabling and customizing monitoring\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003cCLUSTER_ID\u003e\")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .enableProjectMonitoring(true)\n .projectMonitoringInput(ProjectProjectMonitoringInputArgs.builder()\n .answers(Map.ofEntries(\n Map.entry(\"exporter-kubelets.https\", true),\n Map.entry(\"exporter-node.enabled\", true),\n Map.entry(\"exporter-node.ports.metrics.port\", 9796),\n Map.entry(\"exporter-node.resources.limits.cpu\", \"200m\"),\n Map.entry(\"exporter-node.resources.limits.memory\", \"200Mi\"),\n Map.entry(\"grafana.persistence.enabled\", false),\n Map.entry(\"grafana.persistence.size\", \"10Gi\"),\n Map.entry(\"grafana.persistence.storageClass\", \"default\"),\n Map.entry(\"operator.resources.limits.memory\", \"500Mi\"),\n Map.entry(\"prometheus.persistence.enabled\", \"false\"),\n Map.entry(\"prometheus.persistence.size\", \"50Gi\"),\n Map.entry(\"prometheus.persistence.storageClass\", \"default\"),\n Map.entry(\"prometheus.persistent.useReleaseName\", \"true\"),\n Map.entry(\"prometheus.resources.core.limits.cpu\", \"1000m\"),\n Map.entry(\"prometheus.resources.core.limits.memory\", \"1500Mi\"),\n Map.entry(\"prometheus.resources.core.requests.cpu\", \"750m\"),\n Map.entry(\"prometheus.resources.core.requests.memory\", \"750Mi\"),\n Map.entry(\"prometheus.retention\", \"12h\")\n ))\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project enabling and customizing monitoring\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003cCLUSTER_ID\u003e\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 2000m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n enableProjectMonitoring: true\n projectMonitoringInput:\n answers:\n exporter-kubelets.https: true\n exporter-node.enabled: true\n exporter-node.ports.metrics.port: 9796\n exporter-node.resources.limits.cpu: 200m\n exporter-node.resources.limits.memory: 200Mi\n grafana.persistence.enabled: false\n grafana.persistence.size: 10Gi\n grafana.persistence.storageClass: default\n operator.resources.limits.memory: 500Mi\n prometheus.persistence.enabled: 'false'\n prometheus.persistence.size: 50Gi\n prometheus.persistence.storageClass: default\n prometheus.persistent.useReleaseName: 'true'\n prometheus.resources.core.limits.cpu: 1000m\n prometheus.resources.core.limits.memory: 1500Mi\n prometheus.resources.core.requests.cpu: 750m\n prometheus.resources.core.requests.memory: 750Mi\n prometheus.retention: 12h\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProjects can be imported using the Rancher Project ID\n\n```sh\n$ pulumi import rancher2:index/project:Project foo \u0026lt;project_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -31416,7 +31416,7 @@ } }, "rancher2:index/projectAlertRule:ProjectAlertRule": { - "description": "Provides a Rancher v2 Project Alert Rule resource. This can be used to create Project Alert Rule for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n description: \"Terraform project \",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n// Create a new Rancher2 Project Alert Group\nconst fooProjectAlertGroup = new rancher2.ProjectAlertGroup(\"foo\", {\n name: \"foo\",\n description: \"Terraform project alert group\",\n projectId: foo.id,\n groupIntervalSeconds: 300,\n repeatIntervalSeconds: 3600,\n});\n// Create a new Rancher2 Project Alert Rule\nconst fooProjectAlertRule = new rancher2.ProjectAlertRule(\"foo\", {\n projectId: fooProjectAlertGroup.projectId,\n groupId: fooProjectAlertGroup.id,\n name: \"foo\",\n groupIntervalSeconds: 600,\n repeatIntervalSeconds: 6000,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n description=\"Terraform project \",\n resource_quota=rancher2.ProjectResourceQuotaArgs(\n project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs(\n limits_cpu=\"2000m\",\n limits_memory=\"2000Mi\",\n requests_storage=\"2Gi\",\n ),\n namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs(\n limits_cpu=\"500m\",\n limits_memory=\"500Mi\",\n requests_storage=\"1Gi\",\n ),\n ),\n container_resource_limit=rancher2.ProjectContainerResourceLimitArgs(\n limits_cpu=\"20m\",\n limits_memory=\"20Mi\",\n requests_cpu=\"1m\",\n requests_memory=\"1Mi\",\n ))\n# Create a new Rancher2 Project Alert Group\nfoo_project_alert_group = rancher2.ProjectAlertGroup(\"foo\",\n name=\"foo\",\n description=\"Terraform project alert group\",\n project_id=foo.id,\n group_interval_seconds=300,\n repeat_interval_seconds=3600)\n# Create a new Rancher2 Project Alert Rule\nfoo_project_alert_rule = rancher2.ProjectAlertRule(\"foo\",\n project_id=foo_project_alert_group.project_id,\n group_id=foo_project_alert_group.id,\n name=\"foo\",\n group_interval_seconds=600,\n repeat_interval_seconds=6000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n Description = \"Terraform project \",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n // Create a new Rancher2 Project Alert Group\n var fooProjectAlertGroup = new Rancher2.ProjectAlertGroup(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform project alert group\",\n ProjectId = foo.Id,\n GroupIntervalSeconds = 300,\n RepeatIntervalSeconds = 3600,\n });\n\n // Create a new Rancher2 Project Alert Rule\n var fooProjectAlertRule = new Rancher2.ProjectAlertRule(\"foo\", new()\n {\n ProjectId = fooProjectAlertGroup.ProjectId,\n GroupId = fooProjectAlertGroup.Id,\n Name = \"foo\",\n GroupIntervalSeconds = 600,\n RepeatIntervalSeconds = 6000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Project\n\t\tfoo, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform project \"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Alert Group\n\t\tfooProjectAlertGroup, err := rancher2.NewProjectAlertGroup(ctx, \"foo\", \u0026rancher2.ProjectAlertGroupArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform project alert group\"),\n\t\t\tProjectId: foo.ID(),\n\t\t\tGroupIntervalSeconds: pulumi.Int(300),\n\t\t\tRepeatIntervalSeconds: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Alert Rule\n\t\t_, err = rancher2.NewProjectAlertRule(ctx, \"foo\", \u0026rancher2.ProjectAlertRuleArgs{\n\t\t\tProjectId: fooProjectAlertGroup.ProjectId,\n\t\t\tGroupId: fooProjectAlertGroup.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGroupIntervalSeconds: pulumi.Int(600),\n\t\t\tRepeatIntervalSeconds: pulumi.Int(6000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport com.pulumi.rancher2.ProjectAlertGroup;\nimport com.pulumi.rancher2.ProjectAlertGroupArgs;\nimport com.pulumi.rancher2.ProjectAlertRule;\nimport com.pulumi.rancher2.ProjectAlertRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .description(\"Terraform project \")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n // Create a new Rancher2 Project Alert Group\n var fooProjectAlertGroup = new ProjectAlertGroup(\"fooProjectAlertGroup\", ProjectAlertGroupArgs.builder()\n .name(\"foo\")\n .description(\"Terraform project alert group\")\n .projectId(foo.id())\n .groupIntervalSeconds(300)\n .repeatIntervalSeconds(3600)\n .build());\n\n // Create a new Rancher2 Project Alert Rule\n var fooProjectAlertRule = new ProjectAlertRule(\"fooProjectAlertRule\", ProjectAlertRuleArgs.builder()\n .projectId(fooProjectAlertGroup.projectId())\n .groupId(fooProjectAlertGroup.id())\n .name(\"foo\")\n .groupIntervalSeconds(600)\n .repeatIntervalSeconds(6000)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n description: 'Terraform project '\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n # Create a new Rancher2 Project Alert Group\n fooProjectAlertGroup:\n type: rancher2:ProjectAlertGroup\n name: foo\n properties:\n name: foo\n description: Terraform project alert group\n projectId: ${foo.id}\n groupIntervalSeconds: 300\n repeatIntervalSeconds: 3600\n # Create a new Rancher2 Project Alert Rule\n fooProjectAlertRule:\n type: rancher2:ProjectAlertRule\n name: foo\n properties:\n projectId: ${fooProjectAlertGroup.projectId}\n groupId: ${fooProjectAlertGroup.id}\n name: foo\n groupIntervalSeconds: 600\n repeatIntervalSeconds: 6000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProject Alert Rule can be imported using the Rancher project alert rule ID\n\n```sh\n$ pulumi import rancher2:index/projectAlertRule:ProjectAlertRule foo \u0026lt;project_alert_rule_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Project Alert Rule resource. This can be used to create Project Alert Rule for Rancher v2 environments and retrieve their information.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new Rancher2 Project\nconst foo = new rancher2.Project(\"foo\", {\n name: \"foo\",\n clusterId: \"\u003ccluster_id\u003e\",\n description: \"Terraform project \",\n resourceQuota: {\n projectLimit: {\n limitsCpu: \"2000m\",\n limitsMemory: \"2000Mi\",\n requestsStorage: \"2Gi\",\n },\n namespaceDefaultLimit: {\n limitsCpu: \"500m\",\n limitsMemory: \"500Mi\",\n requestsStorage: \"1Gi\",\n },\n },\n containerResourceLimit: {\n limitsCpu: \"20m\",\n limitsMemory: \"20Mi\",\n requestsCpu: \"1m\",\n requestsMemory: \"1Mi\",\n },\n});\n// Create a new Rancher2 Project Alert Group\nconst fooProjectAlertGroup = new rancher2.ProjectAlertGroup(\"foo\", {\n name: \"foo\",\n description: \"Terraform project alert group\",\n projectId: foo.id,\n groupIntervalSeconds: 300,\n repeatIntervalSeconds: 3600,\n});\n// Create a new Rancher2 Project Alert Rule\nconst fooProjectAlertRule = new rancher2.ProjectAlertRule(\"foo\", {\n projectId: fooProjectAlertGroup.projectId,\n groupId: fooProjectAlertGroup.id,\n name: \"foo\",\n groupIntervalSeconds: 600,\n repeatIntervalSeconds: 6000,\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new Rancher2 Project\nfoo = rancher2.Project(\"foo\",\n name=\"foo\",\n cluster_id=\"\u003ccluster_id\u003e\",\n description=\"Terraform project \",\n resource_quota={\n \"project_limit\": {\n \"limits_cpu\": \"2000m\",\n \"limits_memory\": \"2000Mi\",\n \"requests_storage\": \"2Gi\",\n },\n \"namespace_default_limit\": {\n \"limits_cpu\": \"500m\",\n \"limits_memory\": \"500Mi\",\n \"requests_storage\": \"1Gi\",\n },\n },\n container_resource_limit={\n \"limits_cpu\": \"20m\",\n \"limits_memory\": \"20Mi\",\n \"requests_cpu\": \"1m\",\n \"requests_memory\": \"1Mi\",\n })\n# Create a new Rancher2 Project Alert Group\nfoo_project_alert_group = rancher2.ProjectAlertGroup(\"foo\",\n name=\"foo\",\n description=\"Terraform project alert group\",\n project_id=foo.id,\n group_interval_seconds=300,\n repeat_interval_seconds=3600)\n# Create a new Rancher2 Project Alert Rule\nfoo_project_alert_rule = rancher2.ProjectAlertRule(\"foo\",\n project_id=foo_project_alert_group.project_id,\n group_id=foo_project_alert_group.id,\n name=\"foo\",\n group_interval_seconds=600,\n repeat_interval_seconds=6000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new Rancher2 Project\n var foo = new Rancher2.Project(\"foo\", new()\n {\n Name = \"foo\",\n ClusterId = \"\u003ccluster_id\u003e\",\n Description = \"Terraform project \",\n ResourceQuota = new Rancher2.Inputs.ProjectResourceQuotaArgs\n {\n ProjectLimit = new Rancher2.Inputs.ProjectResourceQuotaProjectLimitArgs\n {\n LimitsCpu = \"2000m\",\n LimitsMemory = \"2000Mi\",\n RequestsStorage = \"2Gi\",\n },\n NamespaceDefaultLimit = new Rancher2.Inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs\n {\n LimitsCpu = \"500m\",\n LimitsMemory = \"500Mi\",\n RequestsStorage = \"1Gi\",\n },\n },\n ContainerResourceLimit = new Rancher2.Inputs.ProjectContainerResourceLimitArgs\n {\n LimitsCpu = \"20m\",\n LimitsMemory = \"20Mi\",\n RequestsCpu = \"1m\",\n RequestsMemory = \"1Mi\",\n },\n });\n\n // Create a new Rancher2 Project Alert Group\n var fooProjectAlertGroup = new Rancher2.ProjectAlertGroup(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform project alert group\",\n ProjectId = foo.Id,\n GroupIntervalSeconds = 300,\n RepeatIntervalSeconds = 3600,\n });\n\n // Create a new Rancher2 Project Alert Rule\n var fooProjectAlertRule = new Rancher2.ProjectAlertRule(\"foo\", new()\n {\n ProjectId = fooProjectAlertGroup.ProjectId,\n GroupId = fooProjectAlertGroup.Id,\n Name = \"foo\",\n GroupIntervalSeconds = 600,\n RepeatIntervalSeconds = 6000,\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new Rancher2 Project\n\t\tfoo, err := rancher2.NewProject(ctx, \"foo\", \u0026rancher2.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tClusterId: pulumi.String(\"\u003ccluster_id\u003e\"),\n\t\t\tDescription: pulumi.String(\"Terraform project \"),\n\t\t\tResourceQuota: \u0026rancher2.ProjectResourceQuotaArgs{\n\t\t\t\tProjectLimit: \u0026rancher2.ProjectResourceQuotaProjectLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"2000m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"2000Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"2Gi\"),\n\t\t\t\t},\n\t\t\t\tNamespaceDefaultLimit: \u0026rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs{\n\t\t\t\t\tLimitsCpu: pulumi.String(\"500m\"),\n\t\t\t\t\tLimitsMemory: pulumi.String(\"500Mi\"),\n\t\t\t\t\tRequestsStorage: pulumi.String(\"1Gi\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tContainerResourceLimit: \u0026rancher2.ProjectContainerResourceLimitArgs{\n\t\t\t\tLimitsCpu: pulumi.String(\"20m\"),\n\t\t\t\tLimitsMemory: pulumi.String(\"20Mi\"),\n\t\t\t\tRequestsCpu: pulumi.String(\"1m\"),\n\t\t\t\tRequestsMemory: pulumi.String(\"1Mi\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Alert Group\n\t\tfooProjectAlertGroup, err := rancher2.NewProjectAlertGroup(ctx, \"foo\", \u0026rancher2.ProjectAlertGroupArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform project alert group\"),\n\t\t\tProjectId: foo.ID(),\n\t\t\tGroupIntervalSeconds: pulumi.Int(300),\n\t\t\tRepeatIntervalSeconds: pulumi.Int(3600),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new Rancher2 Project Alert Rule\n\t\t_, err = rancher2.NewProjectAlertRule(ctx, \"foo\", \u0026rancher2.ProjectAlertRuleArgs{\n\t\t\tProjectId: fooProjectAlertGroup.ProjectId,\n\t\t\tGroupId: fooProjectAlertGroup.ID(),\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tGroupIntervalSeconds: pulumi.Int(600),\n\t\t\tRepeatIntervalSeconds: pulumi.Int(6000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Project;\nimport com.pulumi.rancher2.ProjectArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaProjectLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectResourceQuotaNamespaceDefaultLimitArgs;\nimport com.pulumi.rancher2.inputs.ProjectContainerResourceLimitArgs;\nimport com.pulumi.rancher2.ProjectAlertGroup;\nimport com.pulumi.rancher2.ProjectAlertGroupArgs;\nimport com.pulumi.rancher2.ProjectAlertRule;\nimport com.pulumi.rancher2.ProjectAlertRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new Rancher2 Project\n var foo = new Project(\"foo\", ProjectArgs.builder()\n .name(\"foo\")\n .clusterId(\"\u003ccluster_id\u003e\")\n .description(\"Terraform project \")\n .resourceQuota(ProjectResourceQuotaArgs.builder()\n .projectLimit(ProjectResourceQuotaProjectLimitArgs.builder()\n .limitsCpu(\"2000m\")\n .limitsMemory(\"2000Mi\")\n .requestsStorage(\"2Gi\")\n .build())\n .namespaceDefaultLimit(ProjectResourceQuotaNamespaceDefaultLimitArgs.builder()\n .limitsCpu(\"500m\")\n .limitsMemory(\"500Mi\")\n .requestsStorage(\"1Gi\")\n .build())\n .build())\n .containerResourceLimit(ProjectContainerResourceLimitArgs.builder()\n .limitsCpu(\"20m\")\n .limitsMemory(\"20Mi\")\n .requestsCpu(\"1m\")\n .requestsMemory(\"1Mi\")\n .build())\n .build());\n\n // Create a new Rancher2 Project Alert Group\n var fooProjectAlertGroup = new ProjectAlertGroup(\"fooProjectAlertGroup\", ProjectAlertGroupArgs.builder()\n .name(\"foo\")\n .description(\"Terraform project alert group\")\n .projectId(foo.id())\n .groupIntervalSeconds(300)\n .repeatIntervalSeconds(3600)\n .build());\n\n // Create a new Rancher2 Project Alert Rule\n var fooProjectAlertRule = new ProjectAlertRule(\"fooProjectAlertRule\", ProjectAlertRuleArgs.builder()\n .projectId(fooProjectAlertGroup.projectId())\n .groupId(fooProjectAlertGroup.id())\n .name(\"foo\")\n .groupIntervalSeconds(600)\n .repeatIntervalSeconds(6000)\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new Rancher2 Project\n foo:\n type: rancher2:Project\n properties:\n name: foo\n clusterId: \u003ccluster_id\u003e\n description: 'Terraform project '\n resourceQuota:\n projectLimit:\n limitsCpu: 2000m\n limitsMemory: 2000Mi\n requestsStorage: 2Gi\n namespaceDefaultLimit:\n limitsCpu: 500m\n limitsMemory: 500Mi\n requestsStorage: 1Gi\n containerResourceLimit:\n limitsCpu: 20m\n limitsMemory: 20Mi\n requestsCpu: 1m\n requestsMemory: 1Mi\n # Create a new Rancher2 Project Alert Group\n fooProjectAlertGroup:\n type: rancher2:ProjectAlertGroup\n name: foo\n properties:\n name: foo\n description: Terraform project alert group\n projectId: ${foo.id}\n groupIntervalSeconds: 300\n repeatIntervalSeconds: 3600\n # Create a new Rancher2 Project Alert Rule\n fooProjectAlertRule:\n type: rancher2:ProjectAlertRule\n name: foo\n properties:\n projectId: ${fooProjectAlertGroup.projectId}\n groupId: ${fooProjectAlertGroup.id}\n name: foo\n groupIntervalSeconds: 600\n repeatIntervalSeconds: 6000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nProject Alert Rule can be imported using the Rancher project alert rule ID\n\n```sh\n$ pulumi import rancher2:index/projectAlertRule:ProjectAlertRule foo \u0026lt;project_alert_rule_id\u0026gt;\n```\n", "properties": { "annotations": { "type": "object", @@ -31782,7 +31782,7 @@ } }, "rancher2:index/registry:Registry": { - "description": "Provides a Rancher v2 Registry resource. This resource creates Kubernetes secrets with the type `kubernetes.io/dockerconfigjson` for authenticating against Docker registries for Rancher v2 environments and retrieving their information.\n\nDepending on the availability, there are 2 types of Rancher v2 Docker registry resources:\n- Project registry resource: Available to all namespaces in the `project_id`.\n- Namespaced registry resource: Available to `namespace_id` in the `project_id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n registries=[rancher2.RegistryRegistryArgs(\n address=\"test.io\",\n username=\"user\",\n password=\"pass\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n registries:\n - address: test.io\n username: user\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespaced Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user2\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespaced Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n registries=[rancher2.RegistryRegistryArgs(\n address=\"test.io\",\n username=\"user2\",\n password=\"pass\",\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user2\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespaced Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user2\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Namespaced Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user2\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n registries:\n - address: test.io\n username: user2\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRegistries can be imported using the registry ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003cregistry_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/registry:Registry foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;registry_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced registry.\n\n", + "description": "Provides a Rancher v2 Registry resource. This resource creates Kubernetes secrets with the type `kubernetes.io/dockerconfigjson` for authenticating against Docker registries for Rancher v2 environments and retrieving their information.\n\nDepending on the availability, there are 2 types of Rancher v2 Docker registry resources:\n- Project registry resource: Available to all namespaces in the `project_id`.\n- Namespaced registry resource: Available to `namespace_id` in the `project_id`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Project Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Project Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Project Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Project Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Project Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Project Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n registries:\n - address: test.io\n username: user\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 Namespaced Registry\nconst foo = new rancher2.Registry(\"foo\", {\n name: \"foo\",\n description: \"Terraform registry foo\",\n projectId: \"\u003cproject_id\u003e\",\n namespaceId: \"\u003cnamespace_id\u003e\",\n registries: [{\n address: \"test.io\",\n username: \"user2\",\n password: \"pass\",\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 Namespaced Registry\nfoo = rancher2.Registry(\"foo\",\n name=\"foo\",\n description=\"Terraform registry foo\",\n project_id=\"\u003cproject_id\u003e\",\n namespace_id=\"\u003cnamespace_id\u003e\",\n registries=[{\n \"address\": \"test.io\",\n \"username\": \"user2\",\n \"password\": \"pass\",\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 Namespaced Registry\n var foo = new Rancher2.Registry(\"foo\", new()\n {\n Name = \"foo\",\n Description = \"Terraform registry foo\",\n ProjectId = \"\u003cproject_id\u003e\",\n NamespaceId = \"\u003cnamespace_id\u003e\",\n Registries = new[]\n {\n new Rancher2.Inputs.RegistryRegistryArgs\n {\n Address = \"test.io\",\n Username = \"user2\",\n Password = \"pass\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 Namespaced Registry\n\t\t_, err := rancher2.NewRegistry(ctx, \"foo\", \u0026rancher2.RegistryArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tDescription: pulumi.String(\"Terraform registry foo\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tNamespaceId: pulumi.String(\"\u003cnamespace_id\u003e\"),\n\t\t\tRegistries: rancher2.RegistryRegistryArray{\n\t\t\t\t\u0026rancher2.RegistryRegistryArgs{\n\t\t\t\t\tAddress: pulumi.String(\"test.io\"),\n\t\t\t\t\tUsername: pulumi.String(\"user2\"),\n\t\t\t\t\tPassword: pulumi.String(\"pass\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.Registry;\nimport com.pulumi.rancher2.RegistryArgs;\nimport com.pulumi.rancher2.inputs.RegistryRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 Namespaced Registry\n var foo = new Registry(\"foo\", RegistryArgs.builder()\n .name(\"foo\")\n .description(\"Terraform registry foo\")\n .projectId(\"\u003cproject_id\u003e\")\n .namespaceId(\"\u003cnamespace_id\u003e\")\n .registries(RegistryRegistryArgs.builder()\n .address(\"test.io\")\n .username(\"user2\")\n .password(\"pass\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 Namespaced Registry\n foo:\n type: rancher2:Registry\n properties:\n name: foo\n description: Terraform registry foo\n projectId: \u003cproject_id\u003e\n namespaceId: \u003cnamespace_id\u003e\n registries:\n - address: test.io\n username: user2\n password: pass\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRegistries can be imported using the registry ID in the format `\u003cnamespace_id\u003e.\u003cproject_id\u003e.\u003cregistry_id\u003e`\n\n```sh\n$ pulumi import rancher2:index/registry:Registry foo \u0026lt;namespace_id\u0026gt;.\u0026lt;project_id\u0026gt;.\u0026lt;registry_id\u0026gt;\n```\n`\u003cnamespace_id\u003e` is optional, just needed for namespaced registry.\n\n", "properties": { "annotations": { "type": "object", @@ -31923,7 +31923,7 @@ } }, "rancher2:index/roleTemplate:RoleTemplate": { - "description": "Provides a Rancher v2 Role Template resource. This can be used to create Role Template for Rancher v2 and retrieve their information. \n\n`cluster` and `project` scopes are supported for role templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"cluster\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"cluster\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[rancher2.RoleTemplateRuleArgs(\n api_groups=[\"*\"],\n resources=[\"secrets\"],\n verbs=[\"create\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"cluster\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"cluster\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 cluster Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"cluster\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: cluster\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 project Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"project\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 project Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"project\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[rancher2.RoleTemplateRuleArgs(\n api_groups=[\"*\"],\n resources=[\"secrets\"],\n verbs=[\"create\"],\n )])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 project Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"project\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 project Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 project Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"project\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 project Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: project\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRole Template can be imported using the Rancher Role Template ID\n\n```sh\n$ pulumi import rancher2:index/roleTemplate:RoleTemplate foo \u0026lt;role_template_id\u0026gt;\n```\n", + "description": "Provides a Rancher v2 Role Template resource. This can be used to create Role Template for Rancher v2 and retrieve their information. \n\n`cluster` and `project` scopes are supported for role templates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 cluster Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"cluster\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 cluster Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"cluster\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 cluster Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"cluster\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 cluster Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"cluster\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 cluster Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"cluster\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 cluster Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: cluster\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as rancher2 from \"@pulumi/rancher2\";\n\n// Create a new rancher2 project Role Template\nconst foo = new rancher2.RoleTemplate(\"foo\", {\n name: \"foo\",\n context: \"project\",\n defaultRole: true,\n description: \"Terraform role template acceptance test\",\n rules: [{\n apiGroups: [\"*\"],\n resources: [\"secrets\"],\n verbs: [\"create\"],\n }],\n});\n```\n```python\nimport pulumi\nimport pulumi_rancher2 as rancher2\n\n# Create a new rancher2 project Role Template\nfoo = rancher2.RoleTemplate(\"foo\",\n name=\"foo\",\n context=\"project\",\n default_role=True,\n description=\"Terraform role template acceptance test\",\n rules=[{\n \"api_groups\": [\"*\"],\n \"resources\": [\"secrets\"],\n \"verbs\": [\"create\"],\n }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Rancher2 = Pulumi.Rancher2;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n // Create a new rancher2 project Role Template\n var foo = new Rancher2.RoleTemplate(\"foo\", new()\n {\n Name = \"foo\",\n Context = \"project\",\n DefaultRole = true,\n Description = \"Terraform role template acceptance test\",\n Rules = new[]\n {\n new Rancher2.Inputs.RoleTemplateRuleArgs\n {\n ApiGroups = new[]\n {\n \"*\",\n },\n Resources = new[]\n {\n \"secrets\",\n },\n Verbs = new[]\n {\n \"create\",\n },\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-rancher2/sdk/v6/go/rancher2\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new rancher2 project Role Template\n\t\t_, err := rancher2.NewRoleTemplate(ctx, \"foo\", \u0026rancher2.RoleTemplateArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t\tContext: pulumi.String(\"project\"),\n\t\t\tDefaultRole: pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"Terraform role template acceptance test\"),\n\t\t\tRules: rancher2.RoleTemplateRuleArray{\n\t\t\t\t\u0026rancher2.RoleTemplateRuleArgs{\n\t\t\t\t\tApiGroups: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"secrets\"),\n\t\t\t\t\t},\n\t\t\t\t\tVerbs: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"create\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.rancher2.RoleTemplate;\nimport com.pulumi.rancher2.RoleTemplateArgs;\nimport com.pulumi.rancher2.inputs.RoleTemplateRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n // Create a new rancher2 project Role Template\n var foo = new RoleTemplate(\"foo\", RoleTemplateArgs.builder()\n .name(\"foo\")\n .context(\"project\")\n .defaultRole(true)\n .description(\"Terraform role template acceptance test\")\n .rules(RoleTemplateRuleArgs.builder()\n .apiGroups(\"*\")\n .resources(\"secrets\")\n .verbs(\"create\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n # Create a new rancher2 project Role Template\n foo:\n type: rancher2:RoleTemplate\n properties:\n name: foo\n context: project\n defaultRole: true\n description: Terraform role template acceptance test\n rules:\n - apiGroups:\n - '*'\n resources:\n - secrets\n verbs:\n - create\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nRole Template can be imported using the Rancher Role Template ID\n\n```sh\n$ pulumi import rancher2:index/roleTemplate:RoleTemplate foo \u0026lt;role_template_id\u0026gt;\n```\n", "properties": { "administrative": { "type": "boolean", diff --git a/provider/go.mod b/provider/go.mod index c7031fc0f..e2f6f5d50 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -57,8 +57,8 @@ replace ( require ( github.com/hashicorp/terraform-plugin-sdk v1.17.2 - github.com/pulumi/pulumi-terraform-bridge/v3 v3.88.0 - github.com/pulumi/pulumi/sdk/v3 v3.126.0 + github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0 + github.com/pulumi/pulumi/sdk/v3 v3.128.0 github.com/rancher/terraform-provider-rancher2 v1.25.1-0.20240709231636-9e26756e838e ) @@ -251,7 +251,7 @@ require ( github.com/pulumi/pulumi-java/pkg v0.11.0 // indirect github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 // indirect github.com/pulumi/pulumi-yaml v1.9.1 // indirect - github.com/pulumi/pulumi/pkg/v3 v3.126.0 // indirect + github.com/pulumi/pulumi/pkg/v3 v3.128.0 // indirect github.com/pulumi/schema-tools v0.1.2 // indirect github.com/pulumi/terraform-diff-reader v0.0.2 // indirect github.com/rancher/aks-operator v1.2.2 // indirect @@ -295,6 +295,7 @@ require ( github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/yuin/goldmark v1.7.4 // indirect github.com/zclconf/go-cty v1.14.2 // indirect github.com/zclconf/go-cty-yaml v1.0.2 // indirect go.opencensus.io v0.24.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 65ebcdb42..1094744c0 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -2004,16 +2004,16 @@ github.com/pulumi/providertest v0.0.14 h1:5QlAPAAs82jkQraHsJvq1xgVfC7xtW8sFJwv2p github.com/pulumi/providertest v0.0.14/go.mod h1:GcsqEGgSngwaNOD+kICJPIUQlnA911fGBU8HDlJvVL0= github.com/pulumi/pulumi-java/pkg v0.11.0 h1:Jw9gBvyfmfOMq/EkYDm9+zGPxsDAA8jfeMpHmtZ+1oA= github.com/pulumi/pulumi-java/pkg v0.11.0/go.mod h1:sXAk25P47AQVQL6ilAbFmRNgZykC7og/+87ihnqzFTc= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.88.0 h1:0W2Y3Fk7VAWHpjD3FwzVnqWo7g1hD+96C0YDobMnvDU= -github.com/pulumi/pulumi-terraform-bridge/v3 v3.88.0/go.mod h1:QSDiqiCMMbfzrsp3oyRPWgSVE/dkVH5ujxoFappqjdo= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0 h1:Om0Yw07/5dVABB2ou8+XBCmbp9TUUtDZJEh2B5jPGgI= +github.com/pulumi/pulumi-terraform-bridge/v3 v3.89.0/go.mod h1:EWGqRo+ogMPty23b6rVUajgJXUDSNXU+WqcZTPlzyEI= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8 h1:mav2tSitA9BPJPLLahKgepHyYsMzwaTm4cvp0dcTMYw= github.com/pulumi/pulumi-terraform-bridge/x/muxer v0.0.8/go.mod h1:qUYk2c9i/yqMGNj9/bQyXpS39BxNDSXYjVN1njnq0zY= github.com/pulumi/pulumi-yaml v1.9.1 h1:JPeI80M23SPactxgnCFS1casZlSr7ZhAXwSx4H55QQ4= github.com/pulumi/pulumi-yaml v1.9.1/go.mod h1:OH0R34yJxA5u6zjYBN4JXcWoEvfkRoOVWi6viu8buoA= -github.com/pulumi/pulumi/pkg/v3 v3.126.0 h1:XaZU1ehjHN2I5ihkfwxK/UFMDiCDM9FSt2TBnbldAx4= -github.com/pulumi/pulumi/pkg/v3 v3.126.0/go.mod h1:1P4/oK9zceOJUm48QQl/TqjDN68lfsdnTR1FITTFddw= -github.com/pulumi/pulumi/sdk/v3 v3.126.0 h1:6GQVhwG2jgnG7wjRiWgrq0/sU39onctAiBcvTlqb20s= -github.com/pulumi/pulumi/sdk/v3 v3.126.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi/pkg/v3 v3.128.0 h1:K3qtJYjHg4DkA7LxknY/MoQZ+QHdHQDh/k2njjmjHXM= +github.com/pulumi/pulumi/pkg/v3 v3.128.0/go.mod h1:/spoJXy/mqQ8fBLgXBEbUrAnL7pHdfXOviIo5fZROEY= +github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= +github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= github.com/pulumi/schema-tools v0.1.2 h1:Fd9xvUjgck4NA+7/jSk7InqCUT4Kj940+EcnbQKpfZo= github.com/pulumi/schema-tools v0.1.2/go.mod h1:62lgj52Tzq11eqWTIaKd+EVyYAu5dEcDJxMhTjvMO/k= github.com/pulumi/terraform-diff-reader v0.0.2 h1:kTE4nEXU3/SYXESvAIem+wyHMI3abqkI3OhJ0G04LLI= @@ -2169,6 +2169,8 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +github.com/yuin/goldmark v1.7.4 h1:BDXOHExt+A7gwPCJgPIIq7ENvceR7we7rOS9TNoLZeg= +github.com/yuin/goldmark v1.7.4/go.mod h1:uzxRWxtg69N339t3louHJ7+O03ezfj6PlliRlaOzY1E= github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s= github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= diff --git a/sdk/go.mod b/sdk/go.mod index 12c02fe5f..5a204822a 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -4,7 +4,7 @@ go 1.21 require ( github.com/blang/semver v3.5.1+incompatible - github.com/pulumi/pulumi/sdk/v3 v3.126.0 + github.com/pulumi/pulumi/sdk/v3 v3.128.0 ) require ( diff --git a/sdk/go.sum b/sdk/go.sum index 7c3772241..e38123407 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -150,8 +150,8 @@ github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231 h1:vkHw5I/plNdTr435 github.com/pulumi/appdash v0.0.0-20231130102222-75f619a67231/go.mod h1:murToZ2N9hNJzewjHBgfFdXhZKjY3z5cYC1VXk+lbFE= github.com/pulumi/esc v0.9.1 h1:HH5eEv8sgyxSpY5a8yePyqFXzA8cvBvapfH8457+mIs= github.com/pulumi/esc v0.9.1/go.mod h1:oEJ6bOsjYlQUpjf70GiX+CXn3VBmpwFDxUTlmtUN84c= -github.com/pulumi/pulumi/sdk/v3 v3.126.0 h1:6GQVhwG2jgnG7wjRiWgrq0/sU39onctAiBcvTlqb20s= -github.com/pulumi/pulumi/sdk/v3 v3.126.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= +github.com/pulumi/pulumi/sdk/v3 v3.128.0 h1:5VPFfygxt6rva0bEYVQZXxsGAo2/D1wsb9erGOtXxzk= +github.com/pulumi/pulumi/sdk/v3 v3.128.0/go.mod h1:p1U24en3zt51agx+WlNboSOV8eLlPWYAkxMzVEXKbnY= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= diff --git a/sdk/java/build.gradle b/sdk/java/build.gradle index bf4b9a1ab..687f7e130 100644 --- a/sdk/java/build.gradle +++ b/sdk/java/build.gradle @@ -44,7 +44,7 @@ repositories { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.google.code.gson:gson:2.8.9") - implementation("com.pulumi:pulumi:0.12.0") + implementation("com.pulumi:pulumi:0.14.0") } task sourcesJar(type: Jar) { @@ -150,4 +150,4 @@ if (signingKey) { useInMemoryPgpKeys(signingKey, signingPassword) sign publishing.publications.mainPublication } -} \ No newline at end of file +} diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/App.java b/sdk/java/src/main/java/com/pulumi/rancher2/App.java index 2f2c1ff73..4032434af 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/App.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/App.java @@ -366,7 +366,7 @@ public Output> wait_() { * * @param name The _unique_ name of the resulting resource. */ - public App(String name) { + public App(java.lang.String name) { this(name, AppArgs.Empty); } /** @@ -374,7 +374,7 @@ public App(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public App(String name, AppArgs args) { + public App(java.lang.String name, AppArgs args) { this(name, args, null); } /** @@ -383,15 +383,22 @@ public App(String name, AppArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public App(String name, AppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/app:App", name, args == null ? AppArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public App(java.lang.String name, AppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/app:App", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private App(String name, Output id, @Nullable AppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/app:App", name, state, makeResourceOptions(options, id)); + private App(java.lang.String name, Output id, @Nullable AppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/app:App", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AppArgs makeArgs(AppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AppArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -407,7 +414,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static App get(String name, Output id, @Nullable AppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static App get(java.lang.String name, Output id, @Nullable AppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new App(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AppV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/AppV2.java index aa5cb9562..f60430a72 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AppV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AppV2.java @@ -366,7 +366,7 @@ public Output> wait_() { * * @param name The _unique_ name of the resulting resource. */ - public AppV2(String name) { + public AppV2(java.lang.String name) { this(name, AppV2Args.Empty); } /** @@ -374,7 +374,7 @@ public AppV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AppV2(String name, AppV2Args args) { + public AppV2(java.lang.String name, AppV2Args args) { this(name, args, null); } /** @@ -383,15 +383,22 @@ public AppV2(String name, AppV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AppV2(String name, AppV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/appV2:AppV2", name, args == null ? AppV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AppV2(java.lang.String name, AppV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/appV2:AppV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AppV2(String name, Output id, @Nullable AppV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/appV2:AppV2", name, state, makeResourceOptions(options, id)); + private AppV2(java.lang.String name, Output id, @Nullable AppV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/appV2:AppV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AppV2Args makeArgs(AppV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AppV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -407,7 +414,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AppV2 get(String name, Output id, @Nullable AppV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AppV2 get(java.lang.String name, Output id, @Nullable AppV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AppV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigActiveDirectory.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigActiveDirectory.java index 8242e61cc..5dde0be88 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigActiveDirectory.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigActiveDirectory.java @@ -522,7 +522,7 @@ public Output userSearchFilter() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigActiveDirectory(String name) { + public AuthConfigActiveDirectory(java.lang.String name) { this(name, AuthConfigActiveDirectoryArgs.Empty); } /** @@ -530,7 +530,7 @@ public AuthConfigActiveDirectory(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigActiveDirectory(String name, AuthConfigActiveDirectoryArgs args) { + public AuthConfigActiveDirectory(java.lang.String name, AuthConfigActiveDirectoryArgs args) { this(name, args, null); } /** @@ -539,15 +539,22 @@ public AuthConfigActiveDirectory(String name, AuthConfigActiveDirectoryArgs args * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigActiveDirectory(String name, AuthConfigActiveDirectoryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigActiveDirectory:AuthConfigActiveDirectory", name, args == null ? AuthConfigActiveDirectoryArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigActiveDirectory(java.lang.String name, AuthConfigActiveDirectoryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigActiveDirectory:AuthConfigActiveDirectory", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigActiveDirectory(String name, Output id, @Nullable AuthConfigActiveDirectoryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigActiveDirectory:AuthConfigActiveDirectory", name, state, makeResourceOptions(options, id)); + private AuthConfigActiveDirectory(java.lang.String name, Output id, @Nullable AuthConfigActiveDirectoryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigActiveDirectory:AuthConfigActiveDirectory", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigActiveDirectoryArgs makeArgs(AuthConfigActiveDirectoryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigActiveDirectoryArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -569,7 +576,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigActiveDirectory get(String name, Output id, @Nullable AuthConfigActiveDirectoryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigActiveDirectory get(java.lang.String name, Output id, @Nullable AuthConfigActiveDirectoryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigActiveDirectory(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAdfs.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAdfs.java index ecaef3c47..d1cbf22dd 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAdfs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAdfs.java @@ -284,7 +284,7 @@ public Output userNameField() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigAdfs(String name) { + public AuthConfigAdfs(java.lang.String name) { this(name, AuthConfigAdfsArgs.Empty); } /** @@ -292,7 +292,7 @@ public AuthConfigAdfs(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigAdfs(String name, AuthConfigAdfsArgs args) { + public AuthConfigAdfs(java.lang.String name, AuthConfigAdfsArgs args) { this(name, args, null); } /** @@ -301,15 +301,22 @@ public AuthConfigAdfs(String name, AuthConfigAdfsArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigAdfs(String name, AuthConfigAdfsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigAdfs:AuthConfigAdfs", name, args == null ? AuthConfigAdfsArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigAdfs(java.lang.String name, AuthConfigAdfsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigAdfs:AuthConfigAdfs", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigAdfs(String name, Output id, @Nullable AuthConfigAdfsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigAdfs:AuthConfigAdfs", name, state, makeResourceOptions(options, id)); + private AuthConfigAdfs(java.lang.String name, Output id, @Nullable AuthConfigAdfsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigAdfs:AuthConfigAdfs", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigAdfsArgs makeArgs(AuthConfigAdfsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigAdfsArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -330,7 +337,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigAdfs get(String name, Output id, @Nullable AuthConfigAdfsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigAdfs get(java.lang.String name, Output id, @Nullable AuthConfigAdfsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigAdfs(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAzureAd.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAzureAd.java index 8ac285b1b..1cc52ab2d 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAzureAd.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigAzureAd.java @@ -279,7 +279,7 @@ public Output type() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigAzureAd(String name) { + public AuthConfigAzureAd(java.lang.String name) { this(name, AuthConfigAzureAdArgs.Empty); } /** @@ -287,7 +287,7 @@ public AuthConfigAzureAd(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigAzureAd(String name, AuthConfigAzureAdArgs args) { + public AuthConfigAzureAd(java.lang.String name, AuthConfigAzureAdArgs args) { this(name, args, null); } /** @@ -296,15 +296,22 @@ public AuthConfigAzureAd(String name, AuthConfigAzureAdArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigAzureAd(String name, AuthConfigAzureAdArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigAzureAd:AuthConfigAzureAd", name, args == null ? AuthConfigAzureAdArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigAzureAd(java.lang.String name, AuthConfigAzureAdArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigAzureAd:AuthConfigAzureAd", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigAzureAd(String name, Output id, @Nullable AuthConfigAzureAdState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigAzureAd:AuthConfigAzureAd", name, state, makeResourceOptions(options, id)); + private AuthConfigAzureAd(java.lang.String name, Output id, @Nullable AuthConfigAzureAdState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigAzureAd:AuthConfigAzureAd", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigAzureAdArgs makeArgs(AuthConfigAzureAdArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigAzureAdArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -324,7 +331,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigAzureAd get(String name, Output id, @Nullable AuthConfigAzureAdState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigAzureAd get(java.lang.String name, Output id, @Nullable AuthConfigAzureAdState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigAzureAd(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigFreeIpa.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigFreeIpa.java index 61ed977e2..4ba0509de 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigFreeIpa.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigFreeIpa.java @@ -498,7 +498,7 @@ public Output> userSearchFilter() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigFreeIpa(String name) { + public AuthConfigFreeIpa(java.lang.String name) { this(name, AuthConfigFreeIpaArgs.Empty); } /** @@ -506,7 +506,7 @@ public AuthConfigFreeIpa(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigFreeIpa(String name, AuthConfigFreeIpaArgs args) { + public AuthConfigFreeIpa(java.lang.String name, AuthConfigFreeIpaArgs args) { this(name, args, null); } /** @@ -515,15 +515,22 @@ public AuthConfigFreeIpa(String name, AuthConfigFreeIpaArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigFreeIpa(String name, AuthConfigFreeIpaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigFreeIpa:AuthConfigFreeIpa", name, args == null ? AuthConfigFreeIpaArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigFreeIpa(java.lang.String name, AuthConfigFreeIpaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigFreeIpa:AuthConfigFreeIpa", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigFreeIpa(String name, Output id, @Nullable AuthConfigFreeIpaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigFreeIpa:AuthConfigFreeIpa", name, state, makeResourceOptions(options, id)); + private AuthConfigFreeIpa(java.lang.String name, Output id, @Nullable AuthConfigFreeIpaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigFreeIpa:AuthConfigFreeIpa", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigFreeIpaArgs makeArgs(AuthConfigFreeIpaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigFreeIpaArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -545,7 +552,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigFreeIpa get(String name, Output id, @Nullable AuthConfigFreeIpaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigFreeIpa get(java.lang.String name, Output id, @Nullable AuthConfigFreeIpaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigFreeIpa(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigGithub.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigGithub.java index 34f89b690..c9045797e 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigGithub.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigGithub.java @@ -222,7 +222,7 @@ public Output type() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigGithub(String name) { + public AuthConfigGithub(java.lang.String name) { this(name, AuthConfigGithubArgs.Empty); } /** @@ -230,7 +230,7 @@ public AuthConfigGithub(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigGithub(String name, AuthConfigGithubArgs args) { + public AuthConfigGithub(java.lang.String name, AuthConfigGithubArgs args) { this(name, args, null); } /** @@ -239,15 +239,22 @@ public AuthConfigGithub(String name, AuthConfigGithubArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigGithub(String name, AuthConfigGithubArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigGithub:AuthConfigGithub", name, args == null ? AuthConfigGithubArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigGithub(java.lang.String name, AuthConfigGithubArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigGithub:AuthConfigGithub", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigGithub(String name, Output id, @Nullable AuthConfigGithubState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigGithub:AuthConfigGithub", name, state, makeResourceOptions(options, id)); + private AuthConfigGithub(java.lang.String name, Output id, @Nullable AuthConfigGithubState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigGithub:AuthConfigGithub", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigGithubArgs makeArgs(AuthConfigGithubArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigGithubArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -267,7 +274,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigGithub get(String name, Output id, @Nullable AuthConfigGithubState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigGithub get(java.lang.String name, Output id, @Nullable AuthConfigGithubState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigGithub(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigKeycloak.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigKeycloak.java index d03c3e1d3..f203e6800 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigKeycloak.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigKeycloak.java @@ -298,7 +298,7 @@ public Output userNameField() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigKeycloak(String name) { + public AuthConfigKeycloak(java.lang.String name) { this(name, AuthConfigKeycloakArgs.Empty); } /** @@ -306,7 +306,7 @@ public AuthConfigKeycloak(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigKeycloak(String name, AuthConfigKeycloakArgs args) { + public AuthConfigKeycloak(java.lang.String name, AuthConfigKeycloakArgs args) { this(name, args, null); } /** @@ -315,15 +315,22 @@ public AuthConfigKeycloak(String name, AuthConfigKeycloakArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigKeycloak(String name, AuthConfigKeycloakArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigKeycloak:AuthConfigKeycloak", name, args == null ? AuthConfigKeycloakArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigKeycloak(java.lang.String name, AuthConfigKeycloakArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigKeycloak:AuthConfigKeycloak", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigKeycloak(String name, Output id, @Nullable AuthConfigKeycloakState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigKeycloak:AuthConfigKeycloak", name, state, makeResourceOptions(options, id)); + private AuthConfigKeycloak(java.lang.String name, Output id, @Nullable AuthConfigKeycloakState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigKeycloak:AuthConfigKeycloak", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigKeycloakArgs makeArgs(AuthConfigKeycloakArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigKeycloakArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -344,7 +351,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigKeycloak get(String name, Output id, @Nullable AuthConfigKeycloakState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigKeycloak get(java.lang.String name, Output id, @Nullable AuthConfigKeycloakState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigKeycloak(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOkta.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOkta.java index 9da48cc6c..b42ec2472 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOkta.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOkta.java @@ -284,7 +284,7 @@ public Output userNameField() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigOkta(String name) { + public AuthConfigOkta(java.lang.String name) { this(name, AuthConfigOktaArgs.Empty); } /** @@ -292,7 +292,7 @@ public AuthConfigOkta(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigOkta(String name, AuthConfigOktaArgs args) { + public AuthConfigOkta(java.lang.String name, AuthConfigOktaArgs args) { this(name, args, null); } /** @@ -301,15 +301,22 @@ public AuthConfigOkta(String name, AuthConfigOktaArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigOkta(String name, AuthConfigOktaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigOkta:AuthConfigOkta", name, args == null ? AuthConfigOktaArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigOkta(java.lang.String name, AuthConfigOktaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigOkta:AuthConfigOkta", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigOkta(String name, Output id, @Nullable AuthConfigOktaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigOkta:AuthConfigOkta", name, state, makeResourceOptions(options, id)); + private AuthConfigOkta(java.lang.String name, Output id, @Nullable AuthConfigOktaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigOkta:AuthConfigOkta", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigOktaArgs makeArgs(AuthConfigOktaArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigOktaArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -330,7 +337,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigOkta get(String name, Output id, @Nullable AuthConfigOktaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigOkta get(java.lang.String name, Output id, @Nullable AuthConfigOktaState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigOkta(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOpenLdap.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOpenLdap.java index 32a682f60..1dfb81608 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOpenLdap.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigOpenLdap.java @@ -498,7 +498,7 @@ public Output> userSearchFilter() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigOpenLdap(String name) { + public AuthConfigOpenLdap(java.lang.String name) { this(name, AuthConfigOpenLdapArgs.Empty); } /** @@ -506,7 +506,7 @@ public AuthConfigOpenLdap(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigOpenLdap(String name, AuthConfigOpenLdapArgs args) { + public AuthConfigOpenLdap(java.lang.String name, AuthConfigOpenLdapArgs args) { this(name, args, null); } /** @@ -515,15 +515,22 @@ public AuthConfigOpenLdap(String name, AuthConfigOpenLdapArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigOpenLdap(String name, AuthConfigOpenLdapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigOpenLdap:AuthConfigOpenLdap", name, args == null ? AuthConfigOpenLdapArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigOpenLdap(java.lang.String name, AuthConfigOpenLdapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigOpenLdap:AuthConfigOpenLdap", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigOpenLdap(String name, Output id, @Nullable AuthConfigOpenLdapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigOpenLdap:AuthConfigOpenLdap", name, state, makeResourceOptions(options, id)); + private AuthConfigOpenLdap(java.lang.String name, Output id, @Nullable AuthConfigOpenLdapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigOpenLdap:AuthConfigOpenLdap", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigOpenLdapArgs makeArgs(AuthConfigOpenLdapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigOpenLdapArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -545,7 +552,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigOpenLdap get(String name, Output id, @Nullable AuthConfigOpenLdapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigOpenLdap get(java.lang.String name, Output id, @Nullable AuthConfigOpenLdapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigOpenLdap(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigPing.java b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigPing.java index 728363810..bd54e0caf 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigPing.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/AuthConfigPing.java @@ -298,7 +298,7 @@ public Output userNameField() { * * @param name The _unique_ name of the resulting resource. */ - public AuthConfigPing(String name) { + public AuthConfigPing(java.lang.String name) { this(name, AuthConfigPingArgs.Empty); } /** @@ -306,7 +306,7 @@ public AuthConfigPing(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public AuthConfigPing(String name, AuthConfigPingArgs args) { + public AuthConfigPing(java.lang.String name, AuthConfigPingArgs args) { this(name, args, null); } /** @@ -315,15 +315,22 @@ public AuthConfigPing(String name, AuthConfigPingArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public AuthConfigPing(String name, AuthConfigPingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigPing:AuthConfigPing", name, args == null ? AuthConfigPingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public AuthConfigPing(java.lang.String name, AuthConfigPingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigPing:AuthConfigPing", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private AuthConfigPing(String name, Output id, @Nullable AuthConfigPingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/authConfigPing:AuthConfigPing", name, state, makeResourceOptions(options, id)); + private AuthConfigPing(java.lang.String name, Output id, @Nullable AuthConfigPingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/authConfigPing:AuthConfigPing", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static AuthConfigPingArgs makeArgs(AuthConfigPingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? AuthConfigPingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -344,7 +351,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static AuthConfigPing get(String name, Output id, @Nullable AuthConfigPingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static AuthConfigPing get(java.lang.String name, Output id, @Nullable AuthConfigPingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new AuthConfigPing(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Bootstrap.java b/sdk/java/src/main/java/com/pulumi/rancher2/Bootstrap.java index 485374a7d..1c0addf30 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Bootstrap.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Bootstrap.java @@ -316,7 +316,7 @@ public Output user() { * * @param name The _unique_ name of the resulting resource. */ - public Bootstrap(String name) { + public Bootstrap(java.lang.String name) { this(name, BootstrapArgs.Empty); } /** @@ -324,7 +324,7 @@ public Bootstrap(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Bootstrap(String name, @Nullable BootstrapArgs args) { + public Bootstrap(java.lang.String name, @Nullable BootstrapArgs args) { this(name, args, null); } /** @@ -333,15 +333,22 @@ public Bootstrap(String name, @Nullable BootstrapArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Bootstrap(String name, @Nullable BootstrapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/bootstrap:Bootstrap", name, args == null ? BootstrapArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Bootstrap(java.lang.String name, @Nullable BootstrapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/bootstrap:Bootstrap", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Bootstrap(String name, Output id, @Nullable BootstrapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/bootstrap:Bootstrap", name, state, makeResourceOptions(options, id)); + private Bootstrap(java.lang.String name, Output id, @Nullable BootstrapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/bootstrap:Bootstrap", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static BootstrapArgs makeArgs(@Nullable BootstrapArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? BootstrapArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -364,7 +371,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Bootstrap get(String name, Output id, @Nullable BootstrapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Bootstrap get(java.lang.String name, Output id, @Nullable BootstrapState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Bootstrap(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Catalog.java b/sdk/java/src/main/java/com/pulumi/rancher2/Catalog.java index c793b00da..946724bf8 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Catalog.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Catalog.java @@ -284,7 +284,7 @@ public Output version() { * * @param name The _unique_ name of the resulting resource. */ - public Catalog(String name) { + public Catalog(java.lang.String name) { this(name, CatalogArgs.Empty); } /** @@ -292,7 +292,7 @@ public Catalog(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Catalog(String name, CatalogArgs args) { + public Catalog(java.lang.String name, CatalogArgs args) { this(name, args, null); } /** @@ -301,15 +301,22 @@ public Catalog(String name, CatalogArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Catalog(String name, CatalogArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/catalog:Catalog", name, args == null ? CatalogArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Catalog(java.lang.String name, CatalogArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/catalog:Catalog", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Catalog(String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/catalog:Catalog", name, state, makeResourceOptions(options, id)); + private Catalog(java.lang.String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/catalog:Catalog", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static CatalogArgs makeArgs(CatalogArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CatalogArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -329,7 +336,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Catalog get(String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Catalog get(java.lang.String name, Output id, @Nullable CatalogState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Catalog(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/CatalogV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/CatalogV2.java index b20e3ae11..2f405584a 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/CatalogV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/CatalogV2.java @@ -246,7 +246,7 @@ public Output> url() { * * @param name The _unique_ name of the resulting resource. */ - public CatalogV2(String name) { + public CatalogV2(java.lang.String name) { this(name, CatalogV2Args.Empty); } /** @@ -254,7 +254,7 @@ public CatalogV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public CatalogV2(String name, CatalogV2Args args) { + public CatalogV2(java.lang.String name, CatalogV2Args args) { this(name, args, null); } /** @@ -263,15 +263,22 @@ public CatalogV2(String name, CatalogV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public CatalogV2(String name, CatalogV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/catalogV2:CatalogV2", name, args == null ? CatalogV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public CatalogV2(java.lang.String name, CatalogV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/catalogV2:CatalogV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private CatalogV2(String name, Output id, @Nullable CatalogV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/catalogV2:CatalogV2", name, state, makeResourceOptions(options, id)); + private CatalogV2(java.lang.String name, Output id, @Nullable CatalogV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/catalogV2:CatalogV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static CatalogV2Args makeArgs(CatalogV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CatalogV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -287,7 +294,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static CatalogV2 get(String name, Output id, @Nullable CatalogV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static CatalogV2 get(java.lang.String name, Output id, @Nullable CatalogV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new CatalogV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Certificate.java b/sdk/java/src/main/java/com/pulumi/rancher2/Certificate.java index 82f8479ca..09f2ab99d 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Certificate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Certificate.java @@ -144,7 +144,7 @@ public Output projectId() { * * @param name The _unique_ name of the resulting resource. */ - public Certificate(String name) { + public Certificate(java.lang.String name) { this(name, CertificateArgs.Empty); } /** @@ -152,7 +152,7 @@ public Certificate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Certificate(String name, CertificateArgs args) { + public Certificate(java.lang.String name, CertificateArgs args) { this(name, args, null); } /** @@ -161,15 +161,22 @@ public Certificate(String name, CertificateArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Certificate(String name, CertificateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/certificate:Certificate", name, args == null ? CertificateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Certificate(java.lang.String name, CertificateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/certificate:Certificate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Certificate(String name, Output id, @Nullable CertificateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/certificate:Certificate", name, state, makeResourceOptions(options, id)); + private Certificate(java.lang.String name, Output id, @Nullable CertificateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/certificate:Certificate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static CertificateArgs makeArgs(CertificateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CertificateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -188,7 +195,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Certificate get(String name, Output id, @Nullable CertificateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Certificate get(java.lang.String name, Output id, @Nullable CertificateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Certificate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/CloudCredential.java b/sdk/java/src/main/java/com/pulumi/rancher2/CloudCredential.java index 22872ab12..efd1320ff 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/CloudCredential.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/CloudCredential.java @@ -351,7 +351,7 @@ public Output> vsphereCredentia * * @param name The _unique_ name of the resulting resource. */ - public CloudCredential(String name) { + public CloudCredential(java.lang.String name) { this(name, CloudCredentialArgs.Empty); } /** @@ -359,7 +359,7 @@ public CloudCredential(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public CloudCredential(String name, @Nullable CloudCredentialArgs args) { + public CloudCredential(java.lang.String name, @Nullable CloudCredentialArgs args) { this(name, args, null); } /** @@ -368,15 +368,22 @@ public CloudCredential(String name, @Nullable CloudCredentialArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public CloudCredential(String name, @Nullable CloudCredentialArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/cloudCredential:CloudCredential", name, args == null ? CloudCredentialArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public CloudCredential(java.lang.String name, @Nullable CloudCredentialArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/cloudCredential:CloudCredential", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private CloudCredential(String name, Output id, @Nullable CloudCredentialState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/cloudCredential:CloudCredential", name, state, makeResourceOptions(options, id)); + private CloudCredential(java.lang.String name, Output id, @Nullable CloudCredentialState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/cloudCredential:CloudCredential", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static CloudCredentialArgs makeArgs(@Nullable CloudCredentialArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CloudCredentialArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -392,7 +399,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static CloudCredential get(String name, Output id, @Nullable CloudCredentialState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static CloudCredential get(java.lang.String name, Output id, @Nullable CloudCredentialState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new CloudCredential(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java index 35aa0e5d5..a9aaca166 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Cluster.java @@ -1555,7 +1555,7 @@ public Output> windowsPreferedCluster() { * * @param name The _unique_ name of the resulting resource. */ - public Cluster(String name) { + public Cluster(java.lang.String name) { this(name, ClusterArgs.Empty); } /** @@ -1563,7 +1563,7 @@ public Cluster(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Cluster(String name, @Nullable ClusterArgs args) { + public Cluster(java.lang.String name, @Nullable ClusterArgs args) { this(name, args, null); } /** @@ -1572,15 +1572,22 @@ public Cluster(String name, @Nullable ClusterArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Cluster(String name, @Nullable ClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/cluster:Cluster", name, args == null ? ClusterArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Cluster(java.lang.String name, @Nullable ClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/cluster:Cluster", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Cluster(String name, Output id, @Nullable ClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/cluster:Cluster", name, state, makeResourceOptions(options, id)); + private Cluster(java.lang.String name, Output id, @Nullable ClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/cluster:Cluster", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterArgs makeArgs(@Nullable ClusterArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -1600,7 +1607,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Cluster get(String name, Output id, @Nullable ClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Cluster get(java.lang.String name, Output id, @Nullable ClusterState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Cluster(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertGroup.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertGroup.java index 8af6104f8..9f89dcccb 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertGroup.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertGroup.java @@ -204,7 +204,7 @@ public Output> repeatIntervalSeconds() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterAlertGroup(String name) { + public ClusterAlertGroup(java.lang.String name) { this(name, ClusterAlertGroupArgs.Empty); } /** @@ -212,7 +212,7 @@ public ClusterAlertGroup(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterAlertGroup(String name, ClusterAlertGroupArgs args) { + public ClusterAlertGroup(java.lang.String name, ClusterAlertGroupArgs args) { this(name, args, null); } /** @@ -221,15 +221,22 @@ public ClusterAlertGroup(String name, ClusterAlertGroupArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterAlertGroup(String name, ClusterAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterAlertGroup:ClusterAlertGroup", name, args == null ? ClusterAlertGroupArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterAlertGroup(java.lang.String name, ClusterAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterAlertGroup:ClusterAlertGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterAlertGroup(String name, Output id, @Nullable ClusterAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterAlertGroup:ClusterAlertGroup", name, state, makeResourceOptions(options, id)); + private ClusterAlertGroup(java.lang.String name, Output id, @Nullable ClusterAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterAlertGroup:ClusterAlertGroup", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterAlertGroupArgs makeArgs(ClusterAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterAlertGroupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -245,7 +252,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterAlertGroup get(String name, Output id, @Nullable ClusterAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterAlertGroup get(java.lang.String name, Output id, @Nullable ClusterAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterAlertGroup(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertRule.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertRule.java index d66328941..55a445966 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertRule.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterAlertRule.java @@ -288,7 +288,7 @@ public Output> systemServiceRule() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterAlertRule(String name) { + public ClusterAlertRule(java.lang.String name) { this(name, ClusterAlertRuleArgs.Empty); } /** @@ -296,7 +296,7 @@ public ClusterAlertRule(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterAlertRule(String name, ClusterAlertRuleArgs args) { + public ClusterAlertRule(java.lang.String name, ClusterAlertRuleArgs args) { this(name, args, null); } /** @@ -305,15 +305,22 @@ public ClusterAlertRule(String name, ClusterAlertRuleArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterAlertRule(String name, ClusterAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterAlertRule:ClusterAlertRule", name, args == null ? ClusterAlertRuleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterAlertRule(java.lang.String name, ClusterAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterAlertRule:ClusterAlertRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterAlertRule(String name, Output id, @Nullable ClusterAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterAlertRule:ClusterAlertRule", name, state, makeResourceOptions(options, id)); + private ClusterAlertRule(java.lang.String name, Output id, @Nullable ClusterAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterAlertRule:ClusterAlertRule", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterAlertRuleArgs makeArgs(ClusterAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterAlertRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -329,7 +336,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterAlertRule get(String name, Output id, @Nullable ClusterAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterAlertRule get(java.lang.String name, Output id, @Nullable ClusterAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterAlertRule(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterDriver.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterDriver.java index 7fecbf04d..3b6b4c4b6 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterDriver.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterDriver.java @@ -182,7 +182,7 @@ public Output>> whitelistDomains() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterDriver(String name) { + public ClusterDriver(java.lang.String name) { this(name, ClusterDriverArgs.Empty); } /** @@ -190,7 +190,7 @@ public ClusterDriver(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterDriver(String name, ClusterDriverArgs args) { + public ClusterDriver(java.lang.String name, ClusterDriverArgs args) { this(name, args, null); } /** @@ -199,15 +199,22 @@ public ClusterDriver(String name, ClusterDriverArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterDriver(String name, ClusterDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterDriver:ClusterDriver", name, args == null ? ClusterDriverArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterDriver(java.lang.String name, ClusterDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterDriver:ClusterDriver", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterDriver(String name, Output id, @Nullable ClusterDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterDriver:ClusterDriver", name, state, makeResourceOptions(options, id)); + private ClusterDriver(java.lang.String name, Output id, @Nullable ClusterDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterDriver:ClusterDriver", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterDriverArgs makeArgs(ClusterDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterDriverArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -223,7 +230,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterDriver get(String name, Output id, @Nullable ClusterDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterDriver get(java.lang.String name, Output id, @Nullable ClusterDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterDriver(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterRoleTemplateBinding.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterRoleTemplateBinding.java index 37afef85c..29923a0dd 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterRoleTemplateBinding.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterRoleTemplateBinding.java @@ -203,7 +203,7 @@ public Output userPrincipalId() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterRoleTemplateBinding(String name) { + public ClusterRoleTemplateBinding(java.lang.String name) { this(name, ClusterRoleTemplateBindingArgs.Empty); } /** @@ -211,7 +211,7 @@ public ClusterRoleTemplateBinding(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterRoleTemplateBinding(String name, ClusterRoleTemplateBindingArgs args) { + public ClusterRoleTemplateBinding(java.lang.String name, ClusterRoleTemplateBindingArgs args) { this(name, args, null); } /** @@ -220,15 +220,22 @@ public ClusterRoleTemplateBinding(String name, ClusterRoleTemplateBindingArgs ar * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterRoleTemplateBinding(String name, ClusterRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding", name, args == null ? ClusterRoleTemplateBindingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterRoleTemplateBinding(java.lang.String name, ClusterRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterRoleTemplateBinding(String name, Output id, @Nullable ClusterRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding", name, state, makeResourceOptions(options, id)); + private ClusterRoleTemplateBinding(java.lang.String name, Output id, @Nullable ClusterRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterRoleTemplateBinding:ClusterRoleTemplateBinding", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterRoleTemplateBindingArgs makeArgs(ClusterRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterRoleTemplateBindingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -244,7 +251,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterRoleTemplateBinding get(String name, Output id, @Nullable ClusterRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterRoleTemplateBinding get(java.lang.String name, Output id, @Nullable ClusterRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterRoleTemplateBinding(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterSync.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterSync.java index eee588676..50e20bc4b 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterSync.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterSync.java @@ -293,7 +293,7 @@ public Output> waitMonitoring() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterSync(String name) { + public ClusterSync(java.lang.String name) { this(name, ClusterSyncArgs.Empty); } /** @@ -301,7 +301,7 @@ public ClusterSync(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterSync(String name, ClusterSyncArgs args) { + public ClusterSync(java.lang.String name, ClusterSyncArgs args) { this(name, args, null); } /** @@ -310,15 +310,22 @@ public ClusterSync(String name, ClusterSyncArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterSync(String name, ClusterSyncArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterSync:ClusterSync", name, args == null ? ClusterSyncArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterSync(java.lang.String name, ClusterSyncArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterSync:ClusterSync", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterSync(String name, Output id, @Nullable ClusterSyncState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterSync:ClusterSync", name, state, makeResourceOptions(options, id)); + private ClusterSync(java.lang.String name, Output id, @Nullable ClusterSyncState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterSync:ClusterSync", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterSyncArgs makeArgs(ClusterSyncArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterSyncArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -337,7 +344,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterSync get(String name, Output id, @Nullable ClusterSyncState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterSync get(java.lang.String name, Output id, @Nullable ClusterSyncState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterSync(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterTemplate.java index 4d7676c7a..854f6ec70 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterTemplate.java @@ -273,7 +273,7 @@ public Output> templateRevisions() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterTemplate(String name) { + public ClusterTemplate(java.lang.String name) { this(name, ClusterTemplateArgs.Empty); } /** @@ -281,7 +281,7 @@ public ClusterTemplate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterTemplate(String name, @Nullable ClusterTemplateArgs args) { + public ClusterTemplate(java.lang.String name, @Nullable ClusterTemplateArgs args) { this(name, args, null); } /** @@ -290,15 +290,22 @@ public ClusterTemplate(String name, @Nullable ClusterTemplateArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterTemplate(String name, @Nullable ClusterTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterTemplate:ClusterTemplate", name, args == null ? ClusterTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterTemplate(java.lang.String name, @Nullable ClusterTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterTemplate:ClusterTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterTemplate(String name, Output id, @Nullable ClusterTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterTemplate:ClusterTemplate", name, state, makeResourceOptions(options, id)); + private ClusterTemplate(java.lang.String name, Output id, @Nullable ClusterTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterTemplate:ClusterTemplate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterTemplateArgs makeArgs(@Nullable ClusterTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -314,7 +321,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterTemplate get(String name, Output id, @Nullable ClusterTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterTemplate get(java.lang.String name, Output id, @Nullable ClusterTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterTemplate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterV2.java index f39b7c1fc..f8dcd2ef5 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ClusterV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ClusterV2.java @@ -307,7 +307,7 @@ public Output rkeConfig() { * * @param name The _unique_ name of the resulting resource. */ - public ClusterV2(String name) { + public ClusterV2(java.lang.String name) { this(name, ClusterV2Args.Empty); } /** @@ -315,7 +315,7 @@ public ClusterV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ClusterV2(String name, ClusterV2Args args) { + public ClusterV2(java.lang.String name, ClusterV2Args args) { this(name, args, null); } /** @@ -324,15 +324,22 @@ public ClusterV2(String name, ClusterV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ClusterV2(String name, ClusterV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterV2:ClusterV2", name, args == null ? ClusterV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ClusterV2(java.lang.String name, ClusterV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterV2:ClusterV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ClusterV2(String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/clusterV2:ClusterV2", name, state, makeResourceOptions(options, id)); + private ClusterV2(java.lang.String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/clusterV2:ClusterV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ClusterV2Args makeArgs(ClusterV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ClusterV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -352,7 +359,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ClusterV2 get(String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ClusterV2 get(java.lang.String name, Output id, @Nullable ClusterV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ClusterV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ConfigMapV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/ConfigMapV2.java index 5409707d7..1f697b1e2 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ConfigMapV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ConfigMapV2.java @@ -148,7 +148,7 @@ public Output resourceVersion() { * * @param name The _unique_ name of the resulting resource. */ - public ConfigMapV2(String name) { + public ConfigMapV2(java.lang.String name) { this(name, ConfigMapV2Args.Empty); } /** @@ -156,7 +156,7 @@ public ConfigMapV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ConfigMapV2(String name, ConfigMapV2Args args) { + public ConfigMapV2(java.lang.String name, ConfigMapV2Args args) { this(name, args, null); } /** @@ -165,15 +165,22 @@ public ConfigMapV2(String name, ConfigMapV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ConfigMapV2(String name, ConfigMapV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/configMapV2:ConfigMapV2", name, args == null ? ConfigMapV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ConfigMapV2(java.lang.String name, ConfigMapV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/configMapV2:ConfigMapV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ConfigMapV2(String name, Output id, @Nullable ConfigMapV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/configMapV2:ConfigMapV2", name, state, makeResourceOptions(options, id)); + private ConfigMapV2(java.lang.String name, Output id, @Nullable ConfigMapV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/configMapV2:ConfigMapV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ConfigMapV2Args makeArgs(ConfigMapV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ConfigMapV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -189,7 +196,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ConfigMapV2 get(String name, Output id, @Nullable ConfigMapV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ConfigMapV2 get(java.lang.String name, Output id, @Nullable ConfigMapV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ConfigMapV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/CustomUserToken.java b/sdk/java/src/main/java/com/pulumi/rancher2/CustomUserToken.java index dd1550950..d8056bd3e 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/CustomUserToken.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/CustomUserToken.java @@ -339,7 +339,7 @@ public Output username() { * * @param name The _unique_ name of the resulting resource. */ - public CustomUserToken(String name) { + public CustomUserToken(java.lang.String name) { this(name, CustomUserTokenArgs.Empty); } /** @@ -347,7 +347,7 @@ public CustomUserToken(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public CustomUserToken(String name, CustomUserTokenArgs args) { + public CustomUserToken(java.lang.String name, CustomUserTokenArgs args) { this(name, args, null); } /** @@ -356,15 +356,22 @@ public CustomUserToken(String name, CustomUserTokenArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public CustomUserToken(String name, CustomUserTokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/customUserToken:CustomUserToken", name, args == null ? CustomUserTokenArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public CustomUserToken(java.lang.String name, CustomUserTokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/customUserToken:CustomUserToken", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private CustomUserToken(String name, Output id, @Nullable CustomUserTokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/customUserToken:CustomUserToken", name, state, makeResourceOptions(options, id)); + private CustomUserToken(java.lang.String name, Output id, @Nullable CustomUserTokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/customUserToken:CustomUserToken", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static CustomUserTokenArgs makeArgs(CustomUserTokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? CustomUserTokenArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -386,7 +393,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static CustomUserToken get(String name, Output id, @Nullable CustomUserTokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static CustomUserToken get(java.lang.String name, Output id, @Nullable CustomUserTokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new CustomUserToken(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/EtcdBackup.java b/sdk/java/src/main/java/com/pulumi/rancher2/EtcdBackup.java index 7fd34733a..8fdbd3fbd 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/EtcdBackup.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/EtcdBackup.java @@ -204,7 +204,7 @@ public Output namespaceId() { * * @param name The _unique_ name of the resulting resource. */ - public EtcdBackup(String name) { + public EtcdBackup(java.lang.String name) { this(name, EtcdBackupArgs.Empty); } /** @@ -212,7 +212,7 @@ public EtcdBackup(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public EtcdBackup(String name, EtcdBackupArgs args) { + public EtcdBackup(java.lang.String name, EtcdBackupArgs args) { this(name, args, null); } /** @@ -221,15 +221,22 @@ public EtcdBackup(String name, EtcdBackupArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public EtcdBackup(String name, EtcdBackupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/etcdBackup:EtcdBackup", name, args == null ? EtcdBackupArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public EtcdBackup(java.lang.String name, EtcdBackupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/etcdBackup:EtcdBackup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private EtcdBackup(String name, Output id, @Nullable EtcdBackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/etcdBackup:EtcdBackup", name, state, makeResourceOptions(options, id)); + private EtcdBackup(java.lang.String name, Output id, @Nullable EtcdBackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/etcdBackup:EtcdBackup", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static EtcdBackupArgs makeArgs(EtcdBackupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? EtcdBackupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -245,7 +252,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static EtcdBackup get(String name, Output id, @Nullable EtcdBackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static EtcdBackup get(java.lang.String name, Output id, @Nullable EtcdBackupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new EtcdBackup(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Feature.java b/sdk/java/src/main/java/com/pulumi/rancher2/Feature.java index f25015914..98d74b3ad 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Feature.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Feature.java @@ -127,7 +127,7 @@ public Output> value() { * * @param name The _unique_ name of the resulting resource. */ - public Feature(String name) { + public Feature(java.lang.String name) { this(name, FeatureArgs.Empty); } /** @@ -135,7 +135,7 @@ public Feature(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Feature(String name, @Nullable FeatureArgs args) { + public Feature(java.lang.String name, @Nullable FeatureArgs args) { this(name, args, null); } /** @@ -144,15 +144,22 @@ public Feature(String name, @Nullable FeatureArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Feature(String name, @Nullable FeatureArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/feature:Feature", name, args == null ? FeatureArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Feature(java.lang.String name, @Nullable FeatureArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/feature:Feature", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Feature(String name, Output id, @Nullable FeatureState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/feature:Feature", name, state, makeResourceOptions(options, id)); + private Feature(java.lang.String name, Output id, @Nullable FeatureState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/feature:Feature", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static FeatureArgs makeArgs(@Nullable FeatureArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? FeatureArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -168,7 +175,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Feature get(String name, Output id, @Nullable FeatureState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Feature get(java.lang.String name, Output id, @Nullable FeatureState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Feature(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java index d8376f3c7..43edb014b 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDns.java @@ -257,7 +257,7 @@ public Output> ttl() { * * @param name The _unique_ name of the resulting resource. */ - public GlobalDns(String name) { + public GlobalDns(java.lang.String name) { this(name, GlobalDnsArgs.Empty); } /** @@ -265,7 +265,7 @@ public GlobalDns(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public GlobalDns(String name, GlobalDnsArgs args) { + public GlobalDns(java.lang.String name, GlobalDnsArgs args) { this(name, args, null); } /** @@ -274,15 +274,22 @@ public GlobalDns(String name, GlobalDnsArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public GlobalDns(String name, GlobalDnsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDns:GlobalDns", name, args == null ? GlobalDnsArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public GlobalDns(java.lang.String name, GlobalDnsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalDns:GlobalDns", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private GlobalDns(String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDns:GlobalDns", name, state, makeResourceOptions(options, id)); + private GlobalDns(java.lang.String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalDns:GlobalDns", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static GlobalDnsArgs makeArgs(GlobalDnsArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? GlobalDnsArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -298,7 +305,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static GlobalDns get(String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static GlobalDns get(java.lang.String name, Output id, @Nullable GlobalDnsState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new GlobalDns(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java index 2f03eeb38..cbabcbd83 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalDnsProvider.java @@ -82,25 +82,25 @@ * import java.nio.file.Files; * import java.nio.file.Paths; * - * public class App { - * public static void main(String[] args) { + * public class App }{{@code + * public static void main(String[] args) }{{@code * Pulumi.run(App::stack); - * } + * }}{@code * - * public static void stack(Context ctx) { + * public static void stack(Context ctx) }{{@code * // Create a new rancher2 Global DNS Provider - cloudflare * var foo = new GlobalDnsProvider("foo", GlobalDnsProviderArgs.builder() * .name("foo") * .rootDomain("example.com") * .cloudflareConfig(GlobalDnsProviderCloudflareConfigArgs.builder() - * .apiEmail("test{@literal @}test.local") + * .apiEmail("test}{@literal @}{@code test.local") * .apiKey("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") * .proxySetting(true) * .build()) * .build()); * - * } - * } + * }}{@code + * }}{@code * } * * <!--End PulumiCodeChooser --> @@ -251,7 +251,7 @@ public Output> route53Config() { * * @param name The _unique_ name of the resulting resource. */ - public GlobalDnsProvider(String name) { + public GlobalDnsProvider(java.lang.String name) { this(name, GlobalDnsProviderArgs.Empty); } /** @@ -259,7 +259,7 @@ public GlobalDnsProvider(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public GlobalDnsProvider(String name, GlobalDnsProviderArgs args) { + public GlobalDnsProvider(java.lang.String name, GlobalDnsProviderArgs args) { this(name, args, null); } /** @@ -268,15 +268,22 @@ public GlobalDnsProvider(String name, GlobalDnsProviderArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public GlobalDnsProvider(String name, GlobalDnsProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, args == null ? GlobalDnsProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public GlobalDnsProvider(java.lang.String name, GlobalDnsProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); + } + + private GlobalDnsProvider(java.lang.String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, state, makeResourceOptions(options, id), false); } - private GlobalDnsProvider(String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalDnsProvider:GlobalDnsProvider", name, state, makeResourceOptions(options, id)); + private static GlobalDnsProviderArgs makeArgs(GlobalDnsProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? GlobalDnsProviderArgs.Empty : args; } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -292,7 +299,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static GlobalDnsProvider get(String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static GlobalDnsProvider get(java.lang.String name, Output id, @Nullable GlobalDnsProviderState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new GlobalDnsProvider(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java index 01d16cc73..ccd377ab6 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRole.java @@ -194,7 +194,7 @@ public Output> rules() { * * @param name The _unique_ name of the resulting resource. */ - public GlobalRole(String name) { + public GlobalRole(java.lang.String name) { this(name, GlobalRoleArgs.Empty); } /** @@ -202,7 +202,7 @@ public GlobalRole(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public GlobalRole(String name, @Nullable GlobalRoleArgs args) { + public GlobalRole(java.lang.String name, @Nullable GlobalRoleArgs args) { this(name, args, null); } /** @@ -211,15 +211,22 @@ public GlobalRole(String name, @Nullable GlobalRoleArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public GlobalRole(String name, @Nullable GlobalRoleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalRole:GlobalRole", name, args == null ? GlobalRoleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public GlobalRole(java.lang.String name, @Nullable GlobalRoleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalRole:GlobalRole", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private GlobalRole(String name, Output id, @Nullable GlobalRoleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalRole:GlobalRole", name, state, makeResourceOptions(options, id)); + private GlobalRole(java.lang.String name, Output id, @Nullable GlobalRoleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalRole:GlobalRole", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static GlobalRoleArgs makeArgs(@Nullable GlobalRoleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? GlobalRoleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -235,7 +242,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static GlobalRole get(String name, Output id, @Nullable GlobalRoleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static GlobalRole get(java.lang.String name, Output id, @Nullable GlobalRoleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new GlobalRole(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleBinding.java b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleBinding.java index e69d79c55..db453f644 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleBinding.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/GlobalRoleBinding.java @@ -167,7 +167,7 @@ public Output userId() { * * @param name The _unique_ name of the resulting resource. */ - public GlobalRoleBinding(String name) { + public GlobalRoleBinding(java.lang.String name) { this(name, GlobalRoleBindingArgs.Empty); } /** @@ -175,7 +175,7 @@ public GlobalRoleBinding(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public GlobalRoleBinding(String name, GlobalRoleBindingArgs args) { + public GlobalRoleBinding(java.lang.String name, GlobalRoleBindingArgs args) { this(name, args, null); } /** @@ -184,15 +184,22 @@ public GlobalRoleBinding(String name, GlobalRoleBindingArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public GlobalRoleBinding(String name, GlobalRoleBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalRoleBinding:GlobalRoleBinding", name, args == null ? GlobalRoleBindingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public GlobalRoleBinding(java.lang.String name, GlobalRoleBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalRoleBinding:GlobalRoleBinding", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private GlobalRoleBinding(String name, Output id, @Nullable GlobalRoleBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/globalRoleBinding:GlobalRoleBinding", name, state, makeResourceOptions(options, id)); + private GlobalRoleBinding(java.lang.String name, Output id, @Nullable GlobalRoleBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/globalRoleBinding:GlobalRoleBinding", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static GlobalRoleBindingArgs makeArgs(GlobalRoleBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? GlobalRoleBindingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -208,7 +215,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static GlobalRoleBinding get(String name, Output id, @Nullable GlobalRoleBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static GlobalRoleBinding get(java.lang.String name, Output id, @Nullable GlobalRoleBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new GlobalRoleBinding(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/MachineConfigV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/MachineConfigV2.java index da6d82c42..f9efe6069 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/MachineConfigV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/MachineConfigV2.java @@ -326,7 +326,7 @@ public Output> vsphereConfig() { * * @param name The _unique_ name of the resulting resource. */ - public MachineConfigV2(String name) { + public MachineConfigV2(java.lang.String name) { this(name, MachineConfigV2Args.Empty); } /** @@ -334,7 +334,7 @@ public MachineConfigV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public MachineConfigV2(String name, MachineConfigV2Args args) { + public MachineConfigV2(java.lang.String name, MachineConfigV2Args args) { this(name, args, null); } /** @@ -343,15 +343,22 @@ public MachineConfigV2(String name, MachineConfigV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public MachineConfigV2(String name, MachineConfigV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/machineConfigV2:MachineConfigV2", name, args == null ? MachineConfigV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public MachineConfigV2(java.lang.String name, MachineConfigV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/machineConfigV2:MachineConfigV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private MachineConfigV2(String name, Output id, @Nullable MachineConfigV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/machineConfigV2:MachineConfigV2", name, state, makeResourceOptions(options, id)); + private MachineConfigV2(java.lang.String name, Output id, @Nullable MachineConfigV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/machineConfigV2:MachineConfigV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static MachineConfigV2Args makeArgs(MachineConfigV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? MachineConfigV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -367,7 +374,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static MachineConfigV2 get(String name, Output id, @Nullable MachineConfigV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static MachineConfigV2 get(java.lang.String name, Output id, @Nullable MachineConfigV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new MachineConfigV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/MultiClusterApp.java b/sdk/java/src/main/java/com/pulumi/rancher2/MultiClusterApp.java index 02250730b..d4228870c 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/MultiClusterApp.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/MultiClusterApp.java @@ -362,7 +362,7 @@ public Output> wait_() { * * @param name The _unique_ name of the resulting resource. */ - public MultiClusterApp(String name) { + public MultiClusterApp(java.lang.String name) { this(name, MultiClusterAppArgs.Empty); } /** @@ -370,7 +370,7 @@ public MultiClusterApp(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public MultiClusterApp(String name, MultiClusterAppArgs args) { + public MultiClusterApp(java.lang.String name, MultiClusterAppArgs args) { this(name, args, null); } /** @@ -379,15 +379,22 @@ public MultiClusterApp(String name, MultiClusterAppArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public MultiClusterApp(String name, MultiClusterAppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/multiClusterApp:MultiClusterApp", name, args == null ? MultiClusterAppArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public MultiClusterApp(java.lang.String name, MultiClusterAppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/multiClusterApp:MultiClusterApp", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private MultiClusterApp(String name, Output id, @Nullable MultiClusterAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/multiClusterApp:MultiClusterApp", name, state, makeResourceOptions(options, id)); + private MultiClusterApp(java.lang.String name, Output id, @Nullable MultiClusterAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/multiClusterApp:MultiClusterApp", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static MultiClusterAppArgs makeArgs(MultiClusterAppArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? MultiClusterAppArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -403,7 +410,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static MultiClusterApp get(String name, Output id, @Nullable MultiClusterAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static MultiClusterApp get(java.lang.String name, Output id, @Nullable MultiClusterAppState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new MultiClusterApp(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Namespace.java b/sdk/java/src/main/java/com/pulumi/rancher2/Namespace.java index c465e99b3..186afcd57 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Namespace.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Namespace.java @@ -277,7 +277,7 @@ public Output> waitForCluster() { * * @param name The _unique_ name of the resulting resource. */ - public Namespace(String name) { + public Namespace(java.lang.String name) { this(name, NamespaceArgs.Empty); } /** @@ -285,7 +285,7 @@ public Namespace(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Namespace(String name, NamespaceArgs args) { + public Namespace(java.lang.String name, NamespaceArgs args) { this(name, args, null); } /** @@ -294,15 +294,22 @@ public Namespace(String name, NamespaceArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Namespace(String name, NamespaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/namespace:Namespace", name, args == null ? NamespaceArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Namespace(java.lang.String name, NamespaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/namespace:Namespace", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Namespace(String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/namespace:Namespace", name, state, makeResourceOptions(options, id)); + private Namespace(java.lang.String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/namespace:Namespace", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static NamespaceArgs makeArgs(NamespaceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NamespaceArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -318,7 +325,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Namespace get(String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Namespace get(java.lang.String name, Output id, @Nullable NamespaceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Namespace(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/NodeDriver.java b/sdk/java/src/main/java/com/pulumi/rancher2/NodeDriver.java index 628bbd961..3306cd537 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/NodeDriver.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/NodeDriver.java @@ -235,7 +235,7 @@ public Output>> whitelistDomains() { * * @param name The _unique_ name of the resulting resource. */ - public NodeDriver(String name) { + public NodeDriver(java.lang.String name) { this(name, NodeDriverArgs.Empty); } /** @@ -243,7 +243,7 @@ public NodeDriver(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public NodeDriver(String name, NodeDriverArgs args) { + public NodeDriver(java.lang.String name, NodeDriverArgs args) { this(name, args, null); } /** @@ -252,15 +252,22 @@ public NodeDriver(String name, NodeDriverArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public NodeDriver(String name, NodeDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodeDriver:NodeDriver", name, args == null ? NodeDriverArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public NodeDriver(java.lang.String name, NodeDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodeDriver:NodeDriver", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private NodeDriver(String name, Output id, @Nullable NodeDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodeDriver:NodeDriver", name, state, makeResourceOptions(options, id)); + private NodeDriver(java.lang.String name, Output id, @Nullable NodeDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodeDriver:NodeDriver", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static NodeDriverArgs makeArgs(NodeDriverArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NodeDriverArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -276,7 +283,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static NodeDriver get(String name, Output id, @Nullable NodeDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static NodeDriver get(java.lang.String name, Output id, @Nullable NodeDriverState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new NodeDriver(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/NodePool.java b/sdk/java/src/main/java/com/pulumi/rancher2/NodePool.java index 6df5b50de..fcef7e00d 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/NodePool.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/NodePool.java @@ -226,7 +226,7 @@ public Output> worker() { * * @param name The _unique_ name of the resulting resource. */ - public NodePool(String name) { + public NodePool(java.lang.String name) { this(name, NodePoolArgs.Empty); } /** @@ -234,7 +234,7 @@ public NodePool(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public NodePool(String name, NodePoolArgs args) { + public NodePool(java.lang.String name, NodePoolArgs args) { this(name, args, null); } /** @@ -243,15 +243,22 @@ public NodePool(String name, NodePoolArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public NodePool(String name, NodePoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodePool:NodePool", name, args == null ? NodePoolArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public NodePool(java.lang.String name, NodePoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodePool:NodePool", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private NodePool(String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodePool:NodePool", name, state, makeResourceOptions(options, id)); + private NodePool(java.lang.String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodePool:NodePool", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static NodePoolArgs makeArgs(NodePoolArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NodePoolArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -267,7 +274,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static NodePool get(String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static NodePool get(java.lang.String name, Output id, @Nullable NodePoolState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new NodePool(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java index 1cba4055f..fc6989391 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/NodeTemplate.java @@ -698,7 +698,7 @@ public Output> vsphereConfig() { * * @param name The _unique_ name of the resulting resource. */ - public NodeTemplate(String name) { + public NodeTemplate(java.lang.String name) { this(name, NodeTemplateArgs.Empty); } /** @@ -706,7 +706,7 @@ public NodeTemplate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public NodeTemplate(String name, @Nullable NodeTemplateArgs args) { + public NodeTemplate(java.lang.String name, @Nullable NodeTemplateArgs args) { this(name, args, null); } /** @@ -715,15 +715,22 @@ public NodeTemplate(String name, @Nullable NodeTemplateArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public NodeTemplate(String name, @Nullable NodeTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodeTemplate:NodeTemplate", name, args == null ? NodeTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public NodeTemplate(java.lang.String name, @Nullable NodeTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodeTemplate:NodeTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private NodeTemplate(String name, Output id, @Nullable NodeTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/nodeTemplate:NodeTemplate", name, state, makeResourceOptions(options, id)); + private NodeTemplate(java.lang.String name, Output id, @Nullable NodeTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/nodeTemplate:NodeTemplate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static NodeTemplateArgs makeArgs(@Nullable NodeTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NodeTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -743,7 +750,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static NodeTemplate get(String name, Output id, @Nullable NodeTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static NodeTemplate get(java.lang.String name, Output id, @Nullable NodeTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new NodeTemplate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Notifier.java b/sdk/java/src/main/java/com/pulumi/rancher2/Notifier.java index 8092484a2..fe67d1598 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Notifier.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Notifier.java @@ -269,7 +269,7 @@ public Output> wechatConfig() { * * @param name The _unique_ name of the resulting resource. */ - public Notifier(String name) { + public Notifier(java.lang.String name) { this(name, NotifierArgs.Empty); } /** @@ -277,7 +277,7 @@ public Notifier(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Notifier(String name, NotifierArgs args) { + public Notifier(java.lang.String name, NotifierArgs args) { this(name, args, null); } /** @@ -286,15 +286,22 @@ public Notifier(String name, NotifierArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Notifier(String name, NotifierArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/notifier:Notifier", name, args == null ? NotifierArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Notifier(java.lang.String name, NotifierArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/notifier:Notifier", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Notifier(String name, Output id, @Nullable NotifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/notifier:Notifier", name, state, makeResourceOptions(options, id)); + private Notifier(java.lang.String name, Output id, @Nullable NotifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/notifier:Notifier", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static NotifierArgs makeArgs(NotifierArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? NotifierArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -310,7 +317,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Notifier get(String name, Output id, @Nullable NotifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Notifier get(java.lang.String name, Output id, @Nullable NotifierState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Notifier(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityAdmissionConfigurationTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityAdmissionConfigurationTemplate.java index 83de33f65..394cb49a8 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityAdmissionConfigurationTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityAdmissionConfigurationTemplate.java @@ -111,7 +111,7 @@ public Output name() { * * @param name The _unique_ name of the resulting resource. */ - public PodSecurityAdmissionConfigurationTemplate(String name) { + public PodSecurityAdmissionConfigurationTemplate(java.lang.String name) { this(name, PodSecurityAdmissionConfigurationTemplateArgs.Empty); } /** @@ -119,7 +119,7 @@ public PodSecurityAdmissionConfigurationTemplate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public PodSecurityAdmissionConfigurationTemplate(String name, PodSecurityAdmissionConfigurationTemplateArgs args) { + public PodSecurityAdmissionConfigurationTemplate(java.lang.String name, PodSecurityAdmissionConfigurationTemplateArgs args) { this(name, args, null); } /** @@ -128,15 +128,22 @@ public PodSecurityAdmissionConfigurationTemplate(String name, PodSecurityAdmissi * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public PodSecurityAdmissionConfigurationTemplate(String name, PodSecurityAdmissionConfigurationTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/podSecurityAdmissionConfigurationTemplate:PodSecurityAdmissionConfigurationTemplate", name, args == null ? PodSecurityAdmissionConfigurationTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public PodSecurityAdmissionConfigurationTemplate(java.lang.String name, PodSecurityAdmissionConfigurationTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/podSecurityAdmissionConfigurationTemplate:PodSecurityAdmissionConfigurationTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private PodSecurityAdmissionConfigurationTemplate(String name, Output id, @Nullable PodSecurityAdmissionConfigurationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/podSecurityAdmissionConfigurationTemplate:PodSecurityAdmissionConfigurationTemplate", name, state, makeResourceOptions(options, id)); + private PodSecurityAdmissionConfigurationTemplate(java.lang.String name, Output id, @Nullable PodSecurityAdmissionConfigurationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/podSecurityAdmissionConfigurationTemplate:PodSecurityAdmissionConfigurationTemplate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static PodSecurityAdmissionConfigurationTemplateArgs makeArgs(PodSecurityAdmissionConfigurationTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? PodSecurityAdmissionConfigurationTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -152,7 +159,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static PodSecurityAdmissionConfigurationTemplate get(String name, Output id, @Nullable PodSecurityAdmissionConfigurationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static PodSecurityAdmissionConfigurationTemplate get(java.lang.String name, Output id, @Nullable PodSecurityAdmissionConfigurationTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new PodSecurityAdmissionConfigurationTemplate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityPolicyTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityPolicyTemplate.java index 8cc921b02..426998047 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityPolicyTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/PodSecurityPolicyTemplate.java @@ -441,7 +441,7 @@ public Output> volumes() { * * @param name The _unique_ name of the resulting resource. */ - public PodSecurityPolicyTemplate(String name) { + public PodSecurityPolicyTemplate(java.lang.String name) { this(name, PodSecurityPolicyTemplateArgs.Empty); } /** @@ -449,7 +449,7 @@ public PodSecurityPolicyTemplate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public PodSecurityPolicyTemplate(String name, @Nullable PodSecurityPolicyTemplateArgs args) { + public PodSecurityPolicyTemplate(java.lang.String name, @Nullable PodSecurityPolicyTemplateArgs args) { this(name, args, null); } /** @@ -458,15 +458,22 @@ public PodSecurityPolicyTemplate(String name, @Nullable PodSecurityPolicyTemplat * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public PodSecurityPolicyTemplate(String name, @Nullable PodSecurityPolicyTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/podSecurityPolicyTemplate:PodSecurityPolicyTemplate", name, args == null ? PodSecurityPolicyTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public PodSecurityPolicyTemplate(java.lang.String name, @Nullable PodSecurityPolicyTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/podSecurityPolicyTemplate:PodSecurityPolicyTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private PodSecurityPolicyTemplate(String name, Output id, @Nullable PodSecurityPolicyTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/podSecurityPolicyTemplate:PodSecurityPolicyTemplate", name, state, makeResourceOptions(options, id)); + private PodSecurityPolicyTemplate(java.lang.String name, Output id, @Nullable PodSecurityPolicyTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/podSecurityPolicyTemplate:PodSecurityPolicyTemplate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static PodSecurityPolicyTemplateArgs makeArgs(@Nullable PodSecurityPolicyTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? PodSecurityPolicyTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -482,7 +489,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static PodSecurityPolicyTemplate get(String name, Output id, @Nullable PodSecurityPolicyTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static PodSecurityPolicyTemplate get(java.lang.String name, Output id, @Nullable PodSecurityPolicyTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new PodSecurityPolicyTemplate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Project.java b/sdk/java/src/main/java/com/pulumi/rancher2/Project.java index 8f8e315ab..dbd9658a1 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Project.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Project.java @@ -333,7 +333,7 @@ public Output> waitForCluster() { * * @param name The _unique_ name of the resulting resource. */ - public Project(String name) { + public Project(java.lang.String name) { this(name, ProjectArgs.Empty); } /** @@ -341,7 +341,7 @@ public Project(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Project(String name, ProjectArgs args) { + public Project(java.lang.String name, ProjectArgs args) { this(name, args, null); } /** @@ -350,15 +350,22 @@ public Project(String name, ProjectArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Project(String name, ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/project:Project", name, args == null ? ProjectArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Project(java.lang.String name, ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/project:Project", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Project(String name, Output id, @Nullable ProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/project:Project", name, state, makeResourceOptions(options, id)); + private Project(java.lang.String name, Output id, @Nullable ProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/project:Project", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProjectArgs makeArgs(ProjectArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProjectArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -374,7 +381,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Project get(String name, Output id, @Nullable ProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Project get(java.lang.String name, Output id, @Nullable ProjectState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Project(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertGroup.java b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertGroup.java index 0e71456cc..8b78debad 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertGroup.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertGroup.java @@ -204,7 +204,7 @@ public Output> repeatIntervalSeconds() { * * @param name The _unique_ name of the resulting resource. */ - public ProjectAlertGroup(String name) { + public ProjectAlertGroup(java.lang.String name) { this(name, ProjectAlertGroupArgs.Empty); } /** @@ -212,7 +212,7 @@ public ProjectAlertGroup(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ProjectAlertGroup(String name, ProjectAlertGroupArgs args) { + public ProjectAlertGroup(java.lang.String name, ProjectAlertGroupArgs args) { this(name, args, null); } /** @@ -221,15 +221,22 @@ public ProjectAlertGroup(String name, ProjectAlertGroupArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ProjectAlertGroup(String name, ProjectAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectAlertGroup:ProjectAlertGroup", name, args == null ? ProjectAlertGroupArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ProjectAlertGroup(java.lang.String name, ProjectAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectAlertGroup:ProjectAlertGroup", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ProjectAlertGroup(String name, Output id, @Nullable ProjectAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectAlertGroup:ProjectAlertGroup", name, state, makeResourceOptions(options, id)); + private ProjectAlertGroup(java.lang.String name, Output id, @Nullable ProjectAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectAlertGroup:ProjectAlertGroup", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProjectAlertGroupArgs makeArgs(ProjectAlertGroupArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProjectAlertGroupArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -245,7 +252,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ProjectAlertGroup get(String name, Output id, @Nullable ProjectAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ProjectAlertGroup get(java.lang.String name, Output id, @Nullable ProjectAlertGroupState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ProjectAlertGroup(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertRule.java b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertRule.java index 16e01fd51..2ab56a092 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertRule.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectAlertRule.java @@ -304,7 +304,7 @@ public Output> workloadRule() { * * @param name The _unique_ name of the resulting resource. */ - public ProjectAlertRule(String name) { + public ProjectAlertRule(java.lang.String name) { this(name, ProjectAlertRuleArgs.Empty); } /** @@ -312,7 +312,7 @@ public ProjectAlertRule(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ProjectAlertRule(String name, ProjectAlertRuleArgs args) { + public ProjectAlertRule(java.lang.String name, ProjectAlertRuleArgs args) { this(name, args, null); } /** @@ -321,15 +321,22 @@ public ProjectAlertRule(String name, ProjectAlertRuleArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ProjectAlertRule(String name, ProjectAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectAlertRule:ProjectAlertRule", name, args == null ? ProjectAlertRuleArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ProjectAlertRule(java.lang.String name, ProjectAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectAlertRule:ProjectAlertRule", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ProjectAlertRule(String name, Output id, @Nullable ProjectAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectAlertRule:ProjectAlertRule", name, state, makeResourceOptions(options, id)); + private ProjectAlertRule(java.lang.String name, Output id, @Nullable ProjectAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectAlertRule:ProjectAlertRule", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProjectAlertRuleArgs makeArgs(ProjectAlertRuleArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProjectAlertRuleArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -345,7 +352,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ProjectAlertRule get(String name, Output id, @Nullable ProjectAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ProjectAlertRule get(java.lang.String name, Output id, @Nullable ProjectAlertRuleState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ProjectAlertRule(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectRoleTemplateBinding.java b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectRoleTemplateBinding.java index aeea15ab4..dade7610f 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/ProjectRoleTemplateBinding.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/ProjectRoleTemplateBinding.java @@ -203,7 +203,7 @@ public Output userPrincipalId() { * * @param name The _unique_ name of the resulting resource. */ - public ProjectRoleTemplateBinding(String name) { + public ProjectRoleTemplateBinding(java.lang.String name) { this(name, ProjectRoleTemplateBindingArgs.Empty); } /** @@ -211,7 +211,7 @@ public ProjectRoleTemplateBinding(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public ProjectRoleTemplateBinding(String name, ProjectRoleTemplateBindingArgs args) { + public ProjectRoleTemplateBinding(java.lang.String name, ProjectRoleTemplateBindingArgs args) { this(name, args, null); } /** @@ -220,15 +220,22 @@ public ProjectRoleTemplateBinding(String name, ProjectRoleTemplateBindingArgs ar * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public ProjectRoleTemplateBinding(String name, ProjectRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding", name, args == null ? ProjectRoleTemplateBindingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public ProjectRoleTemplateBinding(java.lang.String name, ProjectRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private ProjectRoleTemplateBinding(String name, Output id, @Nullable ProjectRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding", name, state, makeResourceOptions(options, id)); + private ProjectRoleTemplateBinding(java.lang.String name, Output id, @Nullable ProjectRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/projectRoleTemplateBinding:ProjectRoleTemplateBinding", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProjectRoleTemplateBindingArgs makeArgs(ProjectRoleTemplateBindingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProjectRoleTemplateBindingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -244,7 +251,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static ProjectRoleTemplateBinding get(String name, Output id, @Nullable ProjectRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static ProjectRoleTemplateBinding get(java.lang.String name, Output id, @Nullable ProjectRoleTemplateBindingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new ProjectRoleTemplateBinding(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Provider.java b/sdk/java/src/main/java/com/pulumi/rancher2/Provider.java index efca12643..fce84e730 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Provider.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Provider.java @@ -112,7 +112,7 @@ public Output> tokenKey() { * * @param name The _unique_ name of the resulting resource. */ - public Provider(String name) { + public Provider(java.lang.String name) { this(name, ProviderArgs.Empty); } /** @@ -120,7 +120,7 @@ public Provider(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Provider(String name, ProviderArgs args) { + public Provider(java.lang.String name, ProviderArgs args) { this(name, args, null); } /** @@ -129,11 +129,18 @@ public Provider(String name, ProviderArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Provider(String name, ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2", name, args == null ? ProviderArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Provider(java.lang.String name, ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static ProviderArgs makeArgs(ProviderArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? ProviderArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java b/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java index a04853f71..58dded03d 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Rancher2Functions.java @@ -3996,18 +3996,18 @@ public static CompletableFuture getPodSecuri * import java.nio.file.Files; * import java.nio.file.Paths; * - * public class App { - * public static void main(String[] args) { + * public class App }{{@code + * public static void main(String[] args) }{{@code * Pulumi.run(App::stack); - * } + * }}{@code * - * public static void stack(Context ctx) { + * public static void stack(Context ctx) }{{@code * final var foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder() - * .name("user{@literal @}example.com") + * .name("user}{@literal @}{@code example.com") * .build()); * - * } - * } + * }}{@code + * }}{@code * } * * <!--End PulumiCodeChooser --> @@ -4038,18 +4038,18 @@ public static Output getPrincipal(GetPrincipalArgs args) { * import java.nio.file.Files; * import java.nio.file.Paths; * - * public class App { - * public static void main(String[] args) { + * public class App }{{@code + * public static void main(String[] args) }{{@code * Pulumi.run(App::stack); - * } + * }}{@code * - * public static void stack(Context ctx) { + * public static void stack(Context ctx) }{{@code * final var foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder() - * .name("user{@literal @}example.com") + * .name("user}{@literal @}{@code example.com") * .build()); * - * } - * } + * }}{@code + * }}{@code * } * * <!--End PulumiCodeChooser --> @@ -4080,18 +4080,18 @@ public static CompletableFuture getPrincipalPlain(GetPrincip * import java.nio.file.Files; * import java.nio.file.Paths; * - * public class App { - * public static void main(String[] args) { + * public class App }{{@code + * public static void main(String[] args) }{{@code * Pulumi.run(App::stack); - * } + * }}{@code * - * public static void stack(Context ctx) { + * public static void stack(Context ctx) }{{@code * final var foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder() - * .name("user{@literal @}example.com") + * .name("user}{@literal @}{@code example.com") * .build()); * - * } - * } + * }}{@code + * }}{@code * } * * <!--End PulumiCodeChooser --> @@ -4122,18 +4122,18 @@ public static Output getPrincipal(GetPrincipalArgs args, Inv * import java.nio.file.Files; * import java.nio.file.Paths; * - * public class App { - * public static void main(String[] args) { + * public class App }{{@code + * public static void main(String[] args) }{{@code * Pulumi.run(App::stack); - * } + * }}{@code * - * public static void stack(Context ctx) { + * public static void stack(Context ctx) }{{@code * final var foo = Rancher2Functions.getPrincipal(GetPrincipalArgs.builder() - * .name("user{@literal @}example.com") + * .name("user}{@literal @}{@code example.com") * .build()); * - * } - * } + * }}{@code + * }}{@code * } * * <!--End PulumiCodeChooser --> diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Registry.java b/sdk/java/src/main/java/com/pulumi/rancher2/Registry.java index 2b40d225d..78168e849 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Registry.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Registry.java @@ -227,7 +227,7 @@ public Output> registries() { * * @param name The _unique_ name of the resulting resource. */ - public Registry(String name) { + public Registry(java.lang.String name) { this(name, RegistryArgs.Empty); } /** @@ -235,7 +235,7 @@ public Registry(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Registry(String name, RegistryArgs args) { + public Registry(java.lang.String name, RegistryArgs args) { this(name, args, null); } /** @@ -244,15 +244,22 @@ public Registry(String name, RegistryArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Registry(String name, RegistryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/registry:Registry", name, args == null ? RegistryArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Registry(java.lang.String name, RegistryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/registry:Registry", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Registry(String name, Output id, @Nullable RegistryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/registry:Registry", name, state, makeResourceOptions(options, id)); + private Registry(java.lang.String name, Output id, @Nullable RegistryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/registry:Registry", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static RegistryArgs makeArgs(RegistryArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RegistryArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -268,7 +275,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Registry get(String name, Output id, @Nullable RegistryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Registry get(java.lang.String name, Output id, @Nullable RegistryState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Registry(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java index adc513282..44689ec1c 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/RoleTemplate.java @@ -325,7 +325,7 @@ public Output> rules() { * * @param name The _unique_ name of the resulting resource. */ - public RoleTemplate(String name) { + public RoleTemplate(java.lang.String name) { this(name, RoleTemplateArgs.Empty); } /** @@ -333,7 +333,7 @@ public RoleTemplate(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public RoleTemplate(String name, @Nullable RoleTemplateArgs args) { + public RoleTemplate(java.lang.String name, @Nullable RoleTemplateArgs args) { this(name, args, null); } /** @@ -342,15 +342,22 @@ public RoleTemplate(String name, @Nullable RoleTemplateArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public RoleTemplate(String name, @Nullable RoleTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/roleTemplate:RoleTemplate", name, args == null ? RoleTemplateArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public RoleTemplate(java.lang.String name, @Nullable RoleTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/roleTemplate:RoleTemplate", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private RoleTemplate(String name, Output id, @Nullable RoleTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/roleTemplate:RoleTemplate", name, state, makeResourceOptions(options, id)); + private RoleTemplate(java.lang.String name, Output id, @Nullable RoleTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/roleTemplate:RoleTemplate", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static RoleTemplateArgs makeArgs(@Nullable RoleTemplateArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? RoleTemplateArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -366,7 +373,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static RoleTemplate get(String name, Output id, @Nullable RoleTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static RoleTemplate get(java.lang.String name, Output id, @Nullable RoleTemplateState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new RoleTemplate(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Secret.java b/sdk/java/src/main/java/com/pulumi/rancher2/Secret.java index 25f416bef..50303f9e3 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Secret.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Secret.java @@ -236,7 +236,7 @@ public Output projectId() { * * @param name The _unique_ name of the resulting resource. */ - public Secret(String name) { + public Secret(java.lang.String name) { this(name, SecretArgs.Empty); } /** @@ -244,7 +244,7 @@ public Secret(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Secret(String name, SecretArgs args) { + public Secret(java.lang.String name, SecretArgs args) { this(name, args, null); } /** @@ -253,15 +253,22 @@ public Secret(String name, SecretArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Secret(String name, SecretArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/secret:Secret", name, args == null ? SecretArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Secret(java.lang.String name, SecretArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/secret:Secret", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Secret(String name, Output id, @Nullable SecretState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/secret:Secret", name, state, makeResourceOptions(options, id)); + private Secret(java.lang.String name, Output id, @Nullable SecretState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/secret:Secret", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static SecretArgs makeArgs(SecretArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SecretArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -280,7 +287,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Secret get(String name, Output id, @Nullable SecretState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Secret get(java.lang.String name, Output id, @Nullable SecretState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Secret(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/SecretV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/SecretV2.java index 08911e9a6..065daa403 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/SecretV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/SecretV2.java @@ -163,7 +163,7 @@ public Output> type() { * * @param name The _unique_ name of the resulting resource. */ - public SecretV2(String name) { + public SecretV2(java.lang.String name) { this(name, SecretV2Args.Empty); } /** @@ -171,7 +171,7 @@ public SecretV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public SecretV2(String name, SecretV2Args args) { + public SecretV2(java.lang.String name, SecretV2Args args) { this(name, args, null); } /** @@ -180,15 +180,22 @@ public SecretV2(String name, SecretV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public SecretV2(String name, SecretV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/secretV2:SecretV2", name, args == null ? SecretV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public SecretV2(java.lang.String name, SecretV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/secretV2:SecretV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private SecretV2(String name, Output id, @Nullable SecretV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/secretV2:SecretV2", name, state, makeResourceOptions(options, id)); + private SecretV2(java.lang.String name, Output id, @Nullable SecretV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/secretV2:SecretV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static SecretV2Args makeArgs(SecretV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SecretV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -207,7 +214,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static SecretV2 get(String name, Output id, @Nullable SecretV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static SecretV2 get(java.lang.String name, Output id, @Nullable SecretV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new SecretV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Setting.java b/sdk/java/src/main/java/com/pulumi/rancher2/Setting.java index 21081e151..e7e2e3744 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Setting.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Setting.java @@ -131,7 +131,7 @@ public Output value() { * * @param name The _unique_ name of the resulting resource. */ - public Setting(String name) { + public Setting(java.lang.String name) { this(name, SettingArgs.Empty); } /** @@ -139,7 +139,7 @@ public Setting(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Setting(String name, SettingArgs args) { + public Setting(java.lang.String name, SettingArgs args) { this(name, args, null); } /** @@ -148,15 +148,22 @@ public Setting(String name, SettingArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Setting(String name, SettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/setting:Setting", name, args == null ? SettingArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Setting(java.lang.String name, SettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/setting:Setting", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Setting(String name, Output id, @Nullable SettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/setting:Setting", name, state, makeResourceOptions(options, id)); + private Setting(java.lang.String name, Output id, @Nullable SettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/setting:Setting", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static SettingArgs makeArgs(SettingArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? SettingArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -172,7 +179,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Setting get(String name, Output id, @Nullable SettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Setting get(java.lang.String name, Output id, @Nullable SettingState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Setting(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/StorageClassV2.java b/sdk/java/src/main/java/com/pulumi/rancher2/StorageClassV2.java index 6c2762ab1..16c576af5 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/StorageClassV2.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/StorageClassV2.java @@ -191,7 +191,7 @@ public Output> volumeBindingMode() { * * @param name The _unique_ name of the resulting resource. */ - public StorageClassV2(String name) { + public StorageClassV2(java.lang.String name) { this(name, StorageClassV2Args.Empty); } /** @@ -199,7 +199,7 @@ public StorageClassV2(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public StorageClassV2(String name, StorageClassV2Args args) { + public StorageClassV2(java.lang.String name, StorageClassV2Args args) { this(name, args, null); } /** @@ -208,15 +208,22 @@ public StorageClassV2(String name, StorageClassV2Args args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public StorageClassV2(String name, StorageClassV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/storageClassV2:StorageClassV2", name, args == null ? StorageClassV2Args.Empty : args, makeResourceOptions(options, Codegen.empty())); + public StorageClassV2(java.lang.String name, StorageClassV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/storageClassV2:StorageClassV2", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private StorageClassV2(String name, Output id, @Nullable StorageClassV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/storageClassV2:StorageClassV2", name, state, makeResourceOptions(options, id)); + private StorageClassV2(java.lang.String name, Output id, @Nullable StorageClassV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/storageClassV2:StorageClassV2", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static StorageClassV2Args makeArgs(StorageClassV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? StorageClassV2Args.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .build(); @@ -232,7 +239,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static StorageClassV2 get(String name, Output id, @Nullable StorageClassV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static StorageClassV2 get(java.lang.String name, Output id, @Nullable StorageClassV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new StorageClassV2(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Token.java b/sdk/java/src/main/java/com/pulumi/rancher2/Token.java index affd91e72..38e626ae1 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Token.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Token.java @@ -222,7 +222,7 @@ public Output userId() { * * @param name The _unique_ name of the resulting resource. */ - public Token(String name) { + public Token(java.lang.String name) { this(name, TokenArgs.Empty); } /** @@ -230,7 +230,7 @@ public Token(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public Token(String name, @Nullable TokenArgs args) { + public Token(java.lang.String name, @Nullable TokenArgs args) { this(name, args, null); } /** @@ -239,15 +239,22 @@ public Token(String name, @Nullable TokenArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public Token(String name, @Nullable TokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/token:Token", name, args == null ? TokenArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public Token(java.lang.String name, @Nullable TokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/token:Token", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private Token(String name, Output id, @Nullable TokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/token:Token", name, state, makeResourceOptions(options, id)); + private Token(java.lang.String name, Output id, @Nullable TokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/token:Token", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static TokenArgs makeArgs(@Nullable TokenArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? TokenArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -267,7 +274,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static Token get(String name, Output id, @Nullable TokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static Token get(java.lang.String name, Output id, @Nullable TokenState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new Token(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/User.java b/sdk/java/src/main/java/com/pulumi/rancher2/User.java index 248afee85..7255851b6 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/User.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/User.java @@ -177,7 +177,7 @@ public Output username() { * * @param name The _unique_ name of the resulting resource. */ - public User(String name) { + public User(java.lang.String name) { this(name, UserArgs.Empty); } /** @@ -185,7 +185,7 @@ public User(String name) { * @param name The _unique_ name of the resulting resource. * @param args The arguments to use to populate this resource's properties. */ - public User(String name, UserArgs args) { + public User(java.lang.String name, UserArgs args) { this(name, args, null); } /** @@ -194,15 +194,22 @@ public User(String name, UserArgs args) { * @param args The arguments to use to populate this resource's properties. * @param options A bag of options that control this resource's behavior. */ - public User(String name, UserArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/user:User", name, args == null ? UserArgs.Empty : args, makeResourceOptions(options, Codegen.empty())); + public User(java.lang.String name, UserArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/user:User", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false); } - private User(String name, Output id, @Nullable UserState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { - super("rancher2:index/user:User", name, state, makeResourceOptions(options, id)); + private User(java.lang.String name, Output id, @Nullable UserState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + super("rancher2:index/user:User", name, state, makeResourceOptions(options, id), false); } - private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { + private static UserArgs makeArgs(UserArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) { + if (options != null && options.getUrn().isPresent()) { + return null; + } + return args == null ? UserArgs.Empty : args; + } + + private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) { var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder() .version(Utilities.getVersion()) .additionalSecretOutputs(List.of( @@ -221,7 +228,7 @@ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@N * @param state * @param options Optional settings to control the behavior of the CustomResource. */ - public static User get(String name, Output id, @Nullable UserState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { + public static User get(java.lang.String name, Output id, @Nullable UserState state, @Nullable com.pulumi.resources.CustomResourceOptions options) { return new User(name, id, state, options); } } diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/Utilities.java b/sdk/java/src/main/java/com/pulumi/rancher2/Utilities.java index 95097c234..effa2ad41 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/Utilities.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/Utilities.java @@ -17,7 +17,7 @@ public class Utilities { - public static Optional getEnv(String... names) { + public static Optional getEnv(java.lang.String... names) { for (var n : names) { var value = Environment.getEnvironmentVariable(n); if (value.isValue()) { @@ -27,7 +27,7 @@ public static Optional getEnv(String... names) { return Optional.empty(); } - public static Optional getEnvBoolean(String... names) { + public static Optional getEnvBoolean(java.lang.String... names) { for (var n : names) { var value = Environment.getBooleanEnvironmentVariable(n); if (value.isValue()) { @@ -37,7 +37,7 @@ public static Optional getEnvBoolean(String... names) { return Optional.empty(); } - public static Optional getEnvInteger(String... names) { + public static Optional getEnvInteger(java.lang.String... names) { for (var n : names) { var value = Environment.getIntegerEnvironmentVariable(n); if (value.isValue()) { @@ -47,7 +47,7 @@ public static Optional getEnvInteger(String... names) { return Optional.empty(); } - public static Optional getEnvDouble(String... names) { + public static Optional getEnvDouble(java.lang.String... names) { for (var n : names) { var value = Environment.getDoubleEnvironmentVariable(n); if (value.isValue()) { @@ -68,8 +68,8 @@ public static InvokeOptions withVersion(@Nullable InvokeOptions options) { ); } - private static final String version; - public static String getVersion() { + private static final java.lang.String version; + public static java.lang.String getVersion() { return version; } @@ -78,7 +78,7 @@ public static String getVersion() { var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName); if (versionFile == null) { throw new IllegalStateException( - String.format("expected resource '%s' on Classpath, not found", resourceName) + java.lang.String.format("expected resource '%s' on Classpath, not found", resourceName) ); } version = new BufferedReader(new InputStreamReader(versionFile)) diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterV2RkeConfigEtcdArgs.java b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterV2RkeConfigEtcdArgs.java index 102956cce..74278155b 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterV2RkeConfigEtcdArgs.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/inputs/ClusterV2RkeConfigEtcdArgs.java @@ -64,14 +64,14 @@ public Optional> snapshotRetention() { } /** - * ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ @Import(name="snapshotScheduleCron") private @Nullable Output snapshotScheduleCron; /** - * @return ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @return ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ public Optional> snapshotScheduleCron() { @@ -169,7 +169,7 @@ public Builder snapshotRetention(Integer snapshotRetention) { } /** - * @param snapshotScheduleCron ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @param snapshotScheduleCron ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * * @return builder * @@ -180,7 +180,7 @@ public Builder snapshotScheduleCron(@Nullable Output snapshotScheduleCro } /** - * @param snapshotScheduleCron ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @param snapshotScheduleCron ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * * @return builder * diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterV2RkeConfigEtcd.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterV2RkeConfigEtcd.java index 57a42505b..1e25c47be 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterV2RkeConfigEtcd.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/ClusterV2RkeConfigEtcd.java @@ -30,7 +30,7 @@ public final class ClusterV2RkeConfigEtcd { */ private @Nullable Integer snapshotRetention; /** - * @return ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @return ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ private @Nullable String snapshotScheduleCron; @@ -58,7 +58,7 @@ public Optional snapshotRetention() { return Optional.ofNullable(this.snapshotRetention); } /** - * @return ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @return ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ public Optional snapshotScheduleCron() { diff --git a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterV2RkeConfigEtcd.java b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterV2RkeConfigEtcd.java index acbe1b295..15d82271b 100644 --- a/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterV2RkeConfigEtcd.java +++ b/sdk/java/src/main/java/com/pulumi/rancher2/outputs/GetClusterV2RkeConfigEtcd.java @@ -30,7 +30,7 @@ public final class GetClusterV2RkeConfigEtcd { */ private @Nullable Integer snapshotRetention; /** - * @return ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @return ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ private @Nullable String snapshotScheduleCron; @@ -58,7 +58,7 @@ public Optional snapshotRetention() { return Optional.ofNullable(this.snapshotRetention); } /** - * @return ETCD snapshot schedule cron (e.g `"0 *{@literal /}5 * * *"`) + * @return ETCD snapshot schedule cron (e.g `"0 */5 * * *"`) * */ public Optional snapshotScheduleCron() { diff --git a/sdk/python/pulumi_rancher2/app.py b/sdk/python/pulumi_rancher2/app.py index 6fb7f99ff..fd905560a 100644 --- a/sdk/python/pulumi_rancher2/app.py +++ b/sdk/python/pulumi_rancher2/app.py @@ -556,13 +556,13 @@ def __init__(__self__, name="foo", description="Foo namespace", project_id="", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }) foo_app = rancher2.App("foo", catalog_name="", name="foo", @@ -652,13 +652,13 @@ def __init__(__self__, name="foo", description="Foo namespace", project_id="", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }) foo_app = rancher2.App("foo", catalog_name="", name="foo", diff --git a/sdk/python/pulumi_rancher2/cloud_credential.py b/sdk/python/pulumi_rancher2/cloud_credential.py index 2db3b6b1e..6d867cd28 100644 --- a/sdk/python/pulumi_rancher2/cloud_credential.py +++ b/sdk/python/pulumi_rancher2/cloud_credential.py @@ -466,19 +466,19 @@ class CloudCredential(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAmazonec2CredentialConfigArgs']]] = None, + amazonec2_credential_config: Optional[pulumi.Input[Union['CloudCredentialAmazonec2CredentialConfigArgs', 'CloudCredentialAmazonec2CredentialConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAzureCredentialConfigArgs']]] = None, + azure_credential_config: Optional[pulumi.Input[Union['CloudCredentialAzureCredentialConfigArgs', 'CloudCredentialAzureCredentialConfigArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialDigitaloceanCredentialConfigArgs']]] = None, - google_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialGoogleCredentialConfigArgs']]] = None, - harvester_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialHarvesterCredentialConfigArgs']]] = None, + digitalocean_credential_config: Optional[pulumi.Input[Union['CloudCredentialDigitaloceanCredentialConfigArgs', 'CloudCredentialDigitaloceanCredentialConfigArgsDict']]] = None, + google_credential_config: Optional[pulumi.Input[Union['CloudCredentialGoogleCredentialConfigArgs', 'CloudCredentialGoogleCredentialConfigArgsDict']]] = None, + harvester_credential_config: Optional[pulumi.Input[Union['CloudCredentialHarvesterCredentialConfigArgs', 'CloudCredentialHarvesterCredentialConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialLinodeCredentialConfigArgs']]] = None, + linode_credential_config: Optional[pulumi.Input[Union['CloudCredentialLinodeCredentialConfigArgs', 'CloudCredentialLinodeCredentialConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - openstack_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialOpenstackCredentialConfigArgs']]] = None, - s3_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialS3CredentialConfigArgs']]] = None, - vsphere_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialVsphereCredentialConfigArgs']]] = None, + openstack_credential_config: Optional[pulumi.Input[Union['CloudCredentialOpenstackCredentialConfigArgs', 'CloudCredentialOpenstackCredentialConfigArgsDict']]] = None, + s3_credential_config: Optional[pulumi.Input[Union['CloudCredentialS3CredentialConfigArgs', 'CloudCredentialS3CredentialConfigArgsDict']]] = None, + vsphere_credential_config: Optional[pulumi.Input[Union['CloudCredentialVsphereCredentialConfigArgs', 'CloudCredentialVsphereCredentialConfigArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Cloud Credential resource. This can be used to create Cloud Credential for Rancher v2.2.x and retrieve their information. @@ -495,10 +495,10 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) ``` ```python @@ -510,11 +510,11 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) ``` ## Import @@ -547,19 +547,19 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['CloudCredentialAmazonec2CredentialConfigArgs']] amazonec2_credential_config: AWS config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialAmazonec2CredentialConfigArgs', 'CloudCredentialAmazonec2CredentialConfigArgsDict']] amazonec2_credential_config: AWS config for the Cloud Credential (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Cloud Credential object (map) - :param pulumi.Input[pulumi.InputType['CloudCredentialAzureCredentialConfigArgs']] azure_credential_config: Azure config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialAzureCredentialConfigArgs', 'CloudCredentialAzureCredentialConfigArgsDict']] azure_credential_config: Azure config for the Cloud Credential (list maxitems:1) :param pulumi.Input[str] description: Description for the Cloud Credential (string) - :param pulumi.Input[pulumi.InputType['CloudCredentialDigitaloceanCredentialConfigArgs']] digitalocean_credential_config: DigitalOcean config for the Cloud Credential (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialGoogleCredentialConfigArgs']] google_credential_config: Google config for the Cloud Credential (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialHarvesterCredentialConfigArgs']] harvester_credential_config: Harvester config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialDigitaloceanCredentialConfigArgs', 'CloudCredentialDigitaloceanCredentialConfigArgsDict']] digitalocean_credential_config: DigitalOcean config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialGoogleCredentialConfigArgs', 'CloudCredentialGoogleCredentialConfigArgsDict']] google_credential_config: Google config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialHarvesterCredentialConfigArgs', 'CloudCredentialHarvesterCredentialConfigArgsDict']] harvester_credential_config: Harvester config for the Cloud Credential (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Cloud Credential object (map) - :param pulumi.Input[pulumi.InputType['CloudCredentialLinodeCredentialConfigArgs']] linode_credential_config: Linode config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialLinodeCredentialConfigArgs', 'CloudCredentialLinodeCredentialConfigArgsDict']] linode_credential_config: Linode config for the Cloud Credential (list maxitems:1) :param pulumi.Input[str] name: The name of the Cloud Credential (string) - :param pulumi.Input[pulumi.InputType['CloudCredentialOpenstackCredentialConfigArgs']] openstack_credential_config: OpenStack config for the Cloud Credential (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialS3CredentialConfigArgs']] s3_credential_config: S3 config for the Cloud Credential. For Rancher 2.6.0 and above (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialVsphereCredentialConfigArgs']] vsphere_credential_config: vSphere config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialOpenstackCredentialConfigArgs', 'CloudCredentialOpenstackCredentialConfigArgsDict']] openstack_credential_config: OpenStack config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialS3CredentialConfigArgs', 'CloudCredentialS3CredentialConfigArgsDict']] s3_credential_config: S3 config for the Cloud Credential. For Rancher 2.6.0 and above (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialVsphereCredentialConfigArgs', 'CloudCredentialVsphereCredentialConfigArgsDict']] vsphere_credential_config: vSphere config for the Cloud Credential (list maxitems:1) """ ... @overload @@ -582,10 +582,10 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) ``` ```python @@ -597,11 +597,11 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) ``` ## Import @@ -647,19 +647,19 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAmazonec2CredentialConfigArgs']]] = None, + amazonec2_credential_config: Optional[pulumi.Input[Union['CloudCredentialAmazonec2CredentialConfigArgs', 'CloudCredentialAmazonec2CredentialConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAzureCredentialConfigArgs']]] = None, + azure_credential_config: Optional[pulumi.Input[Union['CloudCredentialAzureCredentialConfigArgs', 'CloudCredentialAzureCredentialConfigArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialDigitaloceanCredentialConfigArgs']]] = None, - google_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialGoogleCredentialConfigArgs']]] = None, - harvester_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialHarvesterCredentialConfigArgs']]] = None, + digitalocean_credential_config: Optional[pulumi.Input[Union['CloudCredentialDigitaloceanCredentialConfigArgs', 'CloudCredentialDigitaloceanCredentialConfigArgsDict']]] = None, + google_credential_config: Optional[pulumi.Input[Union['CloudCredentialGoogleCredentialConfigArgs', 'CloudCredentialGoogleCredentialConfigArgsDict']]] = None, + harvester_credential_config: Optional[pulumi.Input[Union['CloudCredentialHarvesterCredentialConfigArgs', 'CloudCredentialHarvesterCredentialConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialLinodeCredentialConfigArgs']]] = None, + linode_credential_config: Optional[pulumi.Input[Union['CloudCredentialLinodeCredentialConfigArgs', 'CloudCredentialLinodeCredentialConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - openstack_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialOpenstackCredentialConfigArgs']]] = None, - s3_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialS3CredentialConfigArgs']]] = None, - vsphere_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialVsphereCredentialConfigArgs']]] = None, + openstack_credential_config: Optional[pulumi.Input[Union['CloudCredentialOpenstackCredentialConfigArgs', 'CloudCredentialOpenstackCredentialConfigArgsDict']]] = None, + s3_credential_config: Optional[pulumi.Input[Union['CloudCredentialS3CredentialConfigArgs', 'CloudCredentialS3CredentialConfigArgsDict']]] = None, + vsphere_credential_config: Optional[pulumi.Input[Union['CloudCredentialVsphereCredentialConfigArgs', 'CloudCredentialVsphereCredentialConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -693,20 +693,20 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAmazonec2CredentialConfigArgs']]] = None, + amazonec2_credential_config: Optional[pulumi.Input[Union['CloudCredentialAmazonec2CredentialConfigArgs', 'CloudCredentialAmazonec2CredentialConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialAzureCredentialConfigArgs']]] = None, + azure_credential_config: Optional[pulumi.Input[Union['CloudCredentialAzureCredentialConfigArgs', 'CloudCredentialAzureCredentialConfigArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialDigitaloceanCredentialConfigArgs']]] = None, + digitalocean_credential_config: Optional[pulumi.Input[Union['CloudCredentialDigitaloceanCredentialConfigArgs', 'CloudCredentialDigitaloceanCredentialConfigArgsDict']]] = None, driver: Optional[pulumi.Input[str]] = None, - google_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialGoogleCredentialConfigArgs']]] = None, - harvester_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialHarvesterCredentialConfigArgs']]] = None, + google_credential_config: Optional[pulumi.Input[Union['CloudCredentialGoogleCredentialConfigArgs', 'CloudCredentialGoogleCredentialConfigArgsDict']]] = None, + harvester_credential_config: Optional[pulumi.Input[Union['CloudCredentialHarvesterCredentialConfigArgs', 'CloudCredentialHarvesterCredentialConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialLinodeCredentialConfigArgs']]] = None, + linode_credential_config: Optional[pulumi.Input[Union['CloudCredentialLinodeCredentialConfigArgs', 'CloudCredentialLinodeCredentialConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - openstack_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialOpenstackCredentialConfigArgs']]] = None, - s3_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialS3CredentialConfigArgs']]] = None, - vsphere_credential_config: Optional[pulumi.Input[pulumi.InputType['CloudCredentialVsphereCredentialConfigArgs']]] = None) -> 'CloudCredential': + openstack_credential_config: Optional[pulumi.Input[Union['CloudCredentialOpenstackCredentialConfigArgs', 'CloudCredentialOpenstackCredentialConfigArgsDict']]] = None, + s3_credential_config: Optional[pulumi.Input[Union['CloudCredentialS3CredentialConfigArgs', 'CloudCredentialS3CredentialConfigArgsDict']]] = None, + vsphere_credential_config: Optional[pulumi.Input[Union['CloudCredentialVsphereCredentialConfigArgs', 'CloudCredentialVsphereCredentialConfigArgsDict']]] = None) -> 'CloudCredential': """ Get an existing CloudCredential resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -714,20 +714,20 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['CloudCredentialAmazonec2CredentialConfigArgs']] amazonec2_credential_config: AWS config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialAmazonec2CredentialConfigArgs', 'CloudCredentialAmazonec2CredentialConfigArgsDict']] amazonec2_credential_config: AWS config for the Cloud Credential (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Cloud Credential object (map) - :param pulumi.Input[pulumi.InputType['CloudCredentialAzureCredentialConfigArgs']] azure_credential_config: Azure config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialAzureCredentialConfigArgs', 'CloudCredentialAzureCredentialConfigArgsDict']] azure_credential_config: Azure config for the Cloud Credential (list maxitems:1) :param pulumi.Input[str] description: Description for the Cloud Credential (string) - :param pulumi.Input[pulumi.InputType['CloudCredentialDigitaloceanCredentialConfigArgs']] digitalocean_credential_config: DigitalOcean config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialDigitaloceanCredentialConfigArgs', 'CloudCredentialDigitaloceanCredentialConfigArgsDict']] digitalocean_credential_config: DigitalOcean config for the Cloud Credential (list maxitems:1) :param pulumi.Input[str] driver: (Computed) The driver of the Cloud Credential (string) - :param pulumi.Input[pulumi.InputType['CloudCredentialGoogleCredentialConfigArgs']] google_credential_config: Google config for the Cloud Credential (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialHarvesterCredentialConfigArgs']] harvester_credential_config: Harvester config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialGoogleCredentialConfigArgs', 'CloudCredentialGoogleCredentialConfigArgsDict']] google_credential_config: Google config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialHarvesterCredentialConfigArgs', 'CloudCredentialHarvesterCredentialConfigArgsDict']] harvester_credential_config: Harvester config for the Cloud Credential (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Cloud Credential object (map) - :param pulumi.Input[pulumi.InputType['CloudCredentialLinodeCredentialConfigArgs']] linode_credential_config: Linode config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialLinodeCredentialConfigArgs', 'CloudCredentialLinodeCredentialConfigArgsDict']] linode_credential_config: Linode config for the Cloud Credential (list maxitems:1) :param pulumi.Input[str] name: The name of the Cloud Credential (string) - :param pulumi.Input[pulumi.InputType['CloudCredentialOpenstackCredentialConfigArgs']] openstack_credential_config: OpenStack config for the Cloud Credential (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialS3CredentialConfigArgs']] s3_credential_config: S3 config for the Cloud Credential. For Rancher 2.6.0 and above (list maxitems:1) - :param pulumi.Input[pulumi.InputType['CloudCredentialVsphereCredentialConfigArgs']] vsphere_credential_config: vSphere config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialOpenstackCredentialConfigArgs', 'CloudCredentialOpenstackCredentialConfigArgsDict']] openstack_credential_config: OpenStack config for the Cloud Credential (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialS3CredentialConfigArgs', 'CloudCredentialS3CredentialConfigArgsDict']] s3_credential_config: S3 config for the Cloud Credential. For Rancher 2.6.0 and above (list maxitems:1) + :param pulumi.Input[Union['CloudCredentialVsphereCredentialConfigArgs', 'CloudCredentialVsphereCredentialConfigArgsDict']] vsphere_credential_config: vSphere config for the Cloud Credential (list maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/cluster.py b/sdk/python/pulumi_rancher2/cluster.py index 540157df3..15c04ac8e 100644 --- a/sdk/python/pulumi_rancher2/cluster.py +++ b/sdk/python/pulumi_rancher2/cluster.py @@ -1238,16 +1238,16 @@ class Cluster(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAgentEnvVarArgs']]]]] = None, - aks_config: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigArgs']]] = None, - aks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigV2Args']]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAgentEnvVarArgs', 'ClusterAgentEnvVarArgsDict']]]]] = None, + aks_config: Optional[pulumi.Input[Union['ClusterAksConfigArgs', 'ClusterAksConfigArgsDict']]] = None, + aks_config_v2: Optional[pulumi.Input[Union['ClusterAksConfigV2Args', 'ClusterAksConfigV2ArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterAgentDeploymentCustomizationArgs']]]]] = None, - cluster_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterClusterAuthEndpointArgs']]] = None, - cluster_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ClusterClusterMonitoringInputArgs']]] = None, - cluster_template_answers: Optional[pulumi.Input[pulumi.InputType['ClusterClusterTemplateAnswersArgs']]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterAgentDeploymentCustomizationArgs', 'ClusterClusterAgentDeploymentCustomizationArgsDict']]]]] = None, + cluster_auth_endpoint: Optional[pulumi.Input[Union['ClusterClusterAuthEndpointArgs', 'ClusterClusterAuthEndpointArgsDict']]] = None, + cluster_monitoring_input: Optional[pulumi.Input[Union['ClusterClusterMonitoringInputArgs', 'ClusterClusterMonitoringInputArgsDict']]] = None, + cluster_template_answers: Optional[pulumi.Input[Union['ClusterClusterTemplateAnswersArgs', 'ClusterClusterTemplateAnswersArgsDict']]] = None, cluster_template_id: Optional[pulumi.Input[str]] = None, - cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterTemplateQuestionArgs']]]]] = None, + cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterTemplateQuestionArgs', 'ClusterClusterTemplateQuestionArgsDict']]]]] = None, cluster_template_revision_id: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, @@ -1256,21 +1256,21 @@ def __init__(__self__, desired_auth_image: Optional[pulumi.Input[str]] = None, docker_root_dir: Optional[pulumi.Input[str]] = None, driver: Optional[pulumi.Input[str]] = None, - eks_config: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigArgs']]] = None, - eks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigV2Args']]] = None, + eks_config: Optional[pulumi.Input[Union['ClusterEksConfigArgs', 'ClusterEksConfigArgsDict']]] = None, + eks_config_v2: Optional[pulumi.Input[Union['ClusterEksConfigV2Args', 'ClusterEksConfigV2ArgsDict']]] = None, enable_cluster_alerting: Optional[pulumi.Input[bool]] = None, enable_cluster_monitoring: Optional[pulumi.Input[bool]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterFleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterFleetAgentDeploymentCustomizationArgs', 'ClusterFleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_workspace_name: Optional[pulumi.Input[str]] = None, - gke_config: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigArgs']]] = None, - gke_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigV2Args']]] = None, - k3s_config: Optional[pulumi.Input[pulumi.InputType['ClusterK3sConfigArgs']]] = None, + gke_config: Optional[pulumi.Input[Union['ClusterGkeConfigArgs', 'ClusterGkeConfigArgsDict']]] = None, + gke_config_v2: Optional[pulumi.Input[Union['ClusterGkeConfigV2Args', 'ClusterGkeConfigV2ArgsDict']]] = None, + k3s_config: Optional[pulumi.Input[Union['ClusterK3sConfigArgs', 'ClusterK3sConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - oke_config: Optional[pulumi.Input[pulumi.InputType['ClusterOkeConfigArgs']]] = None, - rke2_config: Optional[pulumi.Input[pulumi.InputType['ClusterRke2ConfigArgs']]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterRkeConfigArgs']]] = None, + oke_config: Optional[pulumi.Input[Union['ClusterOkeConfigArgs', 'ClusterOkeConfigArgsDict']]] = None, + rke2_config: Optional[pulumi.Input[Union['ClusterRke2ConfigArgs', 'ClusterRke2ConfigArgsDict']]] = None, + rke_config: Optional[pulumi.Input[Union['ClusterRkeConfigArgs', 'ClusterRkeConfigArgsDict']]] = None, windows_prefered_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): """ @@ -1306,35 +1306,35 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), + rke_config={ + "network": { + "plugin": "canal", + }, + }, enable_cluster_monitoring=True, - cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + cluster_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - version="0.1.0", - )) + "version": "0.1.0", + }) ``` ### Creating Rancher v2 RKE cluster enabling/customizing monitoring and istio @@ -1347,35 +1347,35 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), + rke_config={ + "network": { + "plugin": "canal", + }, + }, enable_cluster_monitoring=True, - cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + cluster_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - version="0.1.0", - )) + "version": "0.1.0", + }) # Create a new rancher2 Cluster Sync for foo-custom cluster foo_custom_cluster_sync = rancher2.ClusterSync("foo-custom", cluster_id=foo_custom.id, @@ -1447,25 +1447,25 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Node Template foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) # Create a new rancher2 Node Pool foo_node_pool = rancher2.NodePool("foo", cluster_id=foo_custom.id, @@ -1487,27 +1487,27 @@ def __init__(__self__, # Create a new rancher2 cluster template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + }, + }, + "default": True, + }], description="Test cluster template v2") # Create a new rancher2 RKE Cluster from template foo_cluster = rancher2.Cluster("foo", @@ -1525,25 +1525,25 @@ def __init__(__self__, foo = rancher2.Cluster("foo", name="foo", description="Terraform custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterRkeConfigServicesArgs( - etcd=rancher2.ClusterRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - kube_api=rancher2.ClusterRkeConfigServicesKubeApiArgs( - audit_log=rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs( - enabled=True, - configuration=rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs( - max_age=5, - max_backup=5, - max_size=100, - path="-", - format="json", - policy=\"\"\"apiVersion: audit.k8s.io/v1 + rke_config={ + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + "kube_api": { + "audit_log": { + "enabled": True, + "configuration": { + "max_age": 5, + "max_backup": 5, + "max_size": 100, + "path": "-", + "format": "json", + "policy": \"\"\"apiVersion: audit.k8s.io/v1 kind: Policy metadata: creationTimestamp: null @@ -1555,15 +1555,15 @@ def __init__(__self__, - resources: - pods \"\"\", - ), - ), - ), - ), - upgrade_strategy=rancher2.ClusterRkeConfigUpgradeStrategyArgs( - drain=True, - max_unavailable_worker="20%", - ), - )) + }, + }, + }, + }, + "upgrade_strategy": { + "drain": True, + "max_unavailable_worker": "20%", + }, + }) ``` ### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above. @@ -1575,18 +1575,18 @@ def __init__(__self__, foo = rancher2.Cluster("foo", name="foo", description="Terraform cluster with agent customization", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), - cluster_agent_deployment_customizations=[rancher2.ClusterClusterAgentDeploymentCustomizationArgs( - append_tolerations=[rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs( - effect="NoSchedule", - key="tolerate/control-plane", - value="true", - )], - override_affinity=\"\"\"{ + rke_config={ + "network": { + "plugin": "canal", + }, + }, + cluster_agent_deployment_customizations=[{ + "append_tolerations": [{ + "effect": "NoSchedule", + "key": "tolerate/control-plane", + "value": "true", + }], + "override_affinity": \"\"\"{ "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { "nodeSelectorTerms": [{ @@ -1602,13 +1602,13 @@ def __init__(__self__, } } \"\"\", - override_resource_requirements=[rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs( - cpu_limit="800", - cpu_request="500", - memory_limit="800", - memory_request="500", - )], - )]) + "override_resource_requirements": [{ + "cpu_limit": "800", + "cpu_request": "500", + "memory_limit": "800", + "memory_request": "500", + }], + }]) ``` ### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above. @@ -1621,31 +1621,31 @@ def __init__(__self__, foo = rancher2.PodSecurityAdmissionConfigurationTemplate("foo", name="custom-psact", description="This is my custom Pod Security Admission Configuration Template", - defaults=rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs( - audit="restricted", - audit_version="latest", - enforce="restricted", - enforce_version="latest", - warn="restricted", - warn_version="latest", - ), - exemptions=rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs( - usernames=["testuser"], - runtime_classes=["testclass"], - namespaces=[ + defaults={ + "audit": "restricted", + "audit_version": "latest", + "enforce": "restricted", + "enforce_version": "latest", + "warn": "restricted", + "warn_version": "latest", + }, + exemptions={ + "usernames": ["testuser"], + "runtime_classes": ["testclass"], + "namespaces": [ "ingress-nginx", "kube-system", ], - )) + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform cluster with PSACT", default_pod_security_admission_configuration_template_name="", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) ``` ### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above. @@ -1657,19 +1657,19 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - name="", - region="", - imported=True, - )) + eks_config_v2={ + "cloud_credential_id": foo.id, + "name": "", + "region": "", + "imported": True, + }) ``` ### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above. @@ -1681,39 +1681,39 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - region="", - kubernetes_version="1.24", - logging_types=[ + eks_config_v2={ + "cloud_credential_id": foo.id, + "region": "", + "kubernetes_version": "1.24", + "logging_types": [ "audit", "api", ], - node_groups=[ - rancher2.ClusterEksConfigV2NodeGroupArgs( - name="node_group1", - instance_type="t3.medium", - desired_size=3, - max_size=5, - ), - rancher2.ClusterEksConfigV2NodeGroupArgs( - name="node_group2", - instance_type="m5.xlarge", - desired_size=2, - max_size=3, - node_role="arn:aws:iam::role/test-NodeInstanceRole", - ), + "node_groups": [ + { + "name": "node_group1", + "instance_type": "t3.medium", + "desired_size": 3, + "max_size": 5, + }, + { + "name": "node_group2", + "instance_type": "m5.xlarge", + "desired_size": 2, + "max_size": 3, + "node_role": "arn:aws:iam::role/test-NodeInstanceRole", + }, ], - private_access=True, - public_access=False, - )) + "private_access": True, + "public_access": False, + }) ``` ### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above. @@ -1727,33 +1727,33 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - region="", - kubernetes_version="1.24", - logging_types=[ + eks_config_v2={ + "cloud_credential_id": foo.id, + "region": "", + "kubernetes_version": "1.24", + "logging_types": [ "audit", "api", ], - node_groups=[rancher2.ClusterEksConfigV2NodeGroupArgs( - desired_size=3, - max_size=5, - name="node_group1", - launch_templates=[rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs( - id="", - version=1, - )], - )], - private_access=True, - public_access=True, - )) + "node_groups": [{ + "desired_size": 3, + "max_size": 5, + "name": "node_group1", + "launch_templates": [{ + "id": "", + "version": 1, + }], + }], + "private_access": True, + "public_access": True, + }) ``` ### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above. @@ -1764,60 +1764,60 @@ def __init__(__self__, foo_aks = rancher2.CloudCredential("foo-aks", name="foo-aks", - azure_credential_config=rancher2.CloudCredentialAzureCredentialConfigArgs( - client_id="", - client_secret="", - subscription_id="", - )) + azure_credential_config={ + "client_id": "", + "client_secret": "", + "subscription_id": "", + }) foo = rancher2.Cluster("foo", name="foo", description="Terraform AKS cluster", - aks_config_v2=rancher2.ClusterAksConfigV2Args( - cloud_credential_id=foo_aks.id, - resource_group="", - resource_location="", - dns_prefix="", - kubernetes_version="1.24.6", - network_plugin="", - virtual_network="", - virtual_network_resource_group="", - subnet="", - node_resource_group="", - node_pools=[ - rancher2.ClusterAksConfigV2NodePoolArgs( - availability_zones=[ + aks_config_v2={ + "cloud_credential_id": foo_aks.id, + "resource_group": "", + "resource_location": "", + "dns_prefix": "", + "kubernetes_version": "1.24.6", + "network_plugin": "", + "virtual_network": "", + "virtual_network_resource_group": "", + "subnet": "", + "node_resource_group": "", + "node_pools": [ + { + "availability_zones": [ "1", "2", "3", ], - name="", - mode="System", - count=1, - orchestrator_version="1.21.2", - os_disk_size_gb=128, - vm_size="Standard_DS2_v2", - ), - rancher2.ClusterAksConfigV2NodePoolArgs( - availability_zones=[ + "name": "", + "mode": "System", + "count": 1, + "orchestrator_version": "1.21.2", + "os_disk_size_gb": 128, + "vm_size": "Standard_DS2_v2", + }, + { + "availability_zones": [ "1", "2", "3", ], - name="", - count=1, - mode="User", - orchestrator_version="1.21.2", - os_disk_size_gb=128, - vm_size="Standard_DS2_v2", - max_surge="25%", - labels={ + "name": "", + "count": 1, + "mode": "User", + "orchestrator_version": "1.21.2", + "os_disk_size_gb": 128, + "vm_size": "Standard_DS2_v2", + "max_surge": "25%", + "labels": { "test1": "data1", "test2": "data2", }, - taints=["none:PreferNoSchedule"], - ), + "taints": ["none:PreferNoSchedule"], + }, ], - )) + }) ``` ## Import @@ -1830,16 +1830,16 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAgentEnvVarArgs']]]] agent_env_vars: Optional Agent Env Vars for Rancher agent. For Rancher v2.5.6 and above (list) - :param pulumi.Input[pulumi.InputType['ClusterAksConfigArgs']] aks_config: The Azure AKS configuration for `aks` Clusters. Conflicts with `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterAksConfigV2Args']] aks_config_v2: The Azure AKS v2 configuration for creating/import `aks` Clusters. Conflicts with `aks_config`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterAgentEnvVarArgs', 'ClusterAgentEnvVarArgsDict']]]] agent_env_vars: Optional Agent Env Vars for Rancher agent. For Rancher v2.5.6 and above (list) + :param pulumi.Input[Union['ClusterAksConfigArgs', 'ClusterAksConfigArgsDict']] aks_config: The Azure AKS configuration for `aks` Clusters. Conflicts with `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterAksConfigV2Args', 'ClusterAksConfigV2ArgsDict']] aks_config_v2: The Azure AKS v2 configuration for creating/import `aks` Clusters. Conflicts with `aks_config`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for the Cluster (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterAgentDeploymentCustomizationArgs']]]] cluster_agent_deployment_customizations: Optional customization for cluster agent. For Rancher v2.7.5 and above (list) - :param pulumi.Input[pulumi.InputType['ClusterClusterAuthEndpointArgs']] cluster_auth_endpoint: Enabling the [local cluster authorized endpoint](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#local-cluster-auth-endpoint) allows direct communication with the cluster, bypassing the Rancher API proxy. (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterClusterMonitoringInputArgs']] cluster_monitoring_input: Cluster monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterClusterTemplateAnswersArgs']] cluster_template_answers: Cluster template answers. For Rancher v2.3.x and above (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterAgentDeploymentCustomizationArgs', 'ClusterClusterAgentDeploymentCustomizationArgsDict']]]] cluster_agent_deployment_customizations: Optional customization for cluster agent. For Rancher v2.7.5 and above (list) + :param pulumi.Input[Union['ClusterClusterAuthEndpointArgs', 'ClusterClusterAuthEndpointArgsDict']] cluster_auth_endpoint: Enabling the [local cluster authorized endpoint](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#local-cluster-auth-endpoint) allows direct communication with the cluster, bypassing the Rancher API proxy. (list maxitems:1) + :param pulumi.Input[Union['ClusterClusterMonitoringInputArgs', 'ClusterClusterMonitoringInputArgsDict']] cluster_monitoring_input: Cluster monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) + :param pulumi.Input[Union['ClusterClusterTemplateAnswersArgs', 'ClusterClusterTemplateAnswersArgsDict']] cluster_template_answers: Cluster template answers. For Rancher v2.3.x and above (list maxitems:1) :param pulumi.Input[str] cluster_template_id: Cluster template ID. For Rancher v2.3.x and above (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterTemplateQuestionArgs']]]] cluster_template_questions: Cluster template questions. For Rancher v2.3.x and above (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterTemplateQuestionArgs', 'ClusterClusterTemplateQuestionArgsDict']]]] cluster_template_questions: Cluster template questions. For Rancher v2.3.x and above (list) :param pulumi.Input[str] cluster_template_revision_id: Cluster template revision ID. For Rancher v2.3.x and above (string) :param pulumi.Input[str] default_pod_security_admission_configuration_template_name: The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates). The argument is available in Rancher v2.7.2 and above (string) :param pulumi.Input[str] default_pod_security_policy_template_id: [Default pod security policy template id](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#pod-security-policy-support) (string) @@ -1848,21 +1848,21 @@ def __init__(__self__, :param pulumi.Input[str] desired_auth_image: Desired auth image. For Rancher v2.3.x and above (string) :param pulumi.Input[str] docker_root_dir: Desired auth image. For Rancher v2.3.x and above (string) :param pulumi.Input[str] driver: (Computed) The driver used for the Cluster. `imported`, `azurekubernetesservice`, `amazonelasticcontainerservice`, `googlekubernetesengine` and `rancherKubernetesEngine` are supported (string) - :param pulumi.Input[pulumi.InputType['ClusterEksConfigArgs']] eks_config: The Amazon EKS configuration for `eks` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterEksConfigV2Args']] eks_config_v2: The Amazon EKS V2 configuration to create or import `eks` Clusters. Conflicts with `aks_config`, `eks_config`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config`. For Rancher v2.5.x and above (list maxitems:1) + :param pulumi.Input[Union['ClusterEksConfigArgs', 'ClusterEksConfigArgsDict']] eks_config: The Amazon EKS configuration for `eks` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterEksConfigV2Args', 'ClusterEksConfigV2ArgsDict']] eks_config_v2: The Amazon EKS V2 configuration to create or import `eks` Clusters. Conflicts with `aks_config`, `eks_config`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config`. For Rancher v2.5.x and above (list maxitems:1) :param pulumi.Input[bool] enable_cluster_alerting: Enable built-in cluster alerting (bool) :param pulumi.Input[bool] enable_cluster_monitoring: Enable built-in cluster monitoring (bool) :param pulumi.Input[bool] enable_network_policy: Enable project network isolation (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterFleetAgentDeploymentCustomizationArgs']]]] fleet_agent_deployment_customizations: Optional customization for fleet agent. For Rancher v2.7.5 and above (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterFleetAgentDeploymentCustomizationArgs', 'ClusterFleetAgentDeploymentCustomizationArgsDict']]]] fleet_agent_deployment_customizations: Optional customization for fleet agent. For Rancher v2.7.5 and above (list) :param pulumi.Input[str] fleet_workspace_name: Fleet workspace name (string) - :param pulumi.Input[pulumi.InputType['ClusterGkeConfigArgs']] gke_config: The Google GKE configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config_v2`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterGkeConfigV2Args']] gke_config_v2: The Google GKE V2 configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `oke_config`, `k3s_config` and `rke_config`. For Rancher v2.5.8 and above (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterK3sConfigArgs']] k3s_config: The K3S configuration for `k3s` imported Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterGkeConfigArgs', 'ClusterGkeConfigArgsDict']] gke_config: The Google GKE configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config_v2`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterGkeConfigV2Args', 'ClusterGkeConfigV2ArgsDict']] gke_config_v2: The Google GKE V2 configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `oke_config`, `k3s_config` and `rke_config`. For Rancher v2.5.8 and above (list maxitems:1) + :param pulumi.Input[Union['ClusterK3sConfigArgs', 'ClusterK3sConfigArgsDict']] k3s_config: The K3S configuration for `k3s` imported Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `rke_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for the Cluster (map) :param pulumi.Input[str] name: The name of the Cluster (string) - :param pulumi.Input[pulumi.InputType['ClusterOkeConfigArgs']] oke_config: The Oracle OKE configuration for `oke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterRke2ConfigArgs']] rke2_config: The RKE2 configuration for `rke2` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `gke_config`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterRkeConfigArgs']] rke_config: The RKE configuration for `rke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `k3s_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterOkeConfigArgs', 'ClusterOkeConfigArgsDict']] oke_config: The Oracle OKE configuration for `oke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterRke2ConfigArgs', 'ClusterRke2ConfigArgsDict']] rke2_config: The RKE2 configuration for `rke2` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `gke_config`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterRkeConfigArgs', 'ClusterRkeConfigArgsDict']] rke_config: The RKE configuration for `rke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `k3s_config` (list maxitems:1) :param pulumi.Input[bool] windows_prefered_cluster: Windows preferred cluster. Default: `false` (bool) """ ... @@ -1904,35 +1904,35 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), + rke_config={ + "network": { + "plugin": "canal", + }, + }, enable_cluster_monitoring=True, - cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + cluster_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - version="0.1.0", - )) + "version": "0.1.0", + }) ``` ### Creating Rancher v2 RKE cluster enabling/customizing monitoring and istio @@ -1945,35 +1945,35 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), + rke_config={ + "network": { + "plugin": "canal", + }, + }, enable_cluster_monitoring=True, - cluster_monitoring_input=rancher2.ClusterClusterMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + cluster_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - version="0.1.0", - )) + "version": "0.1.0", + }) # Create a new rancher2 Cluster Sync for foo-custom cluster foo_custom_cluster_sync = rancher2.ClusterSync("foo-custom", cluster_id=foo_custom.id, @@ -2045,25 +2045,25 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Node Template foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) # Create a new rancher2 Node Pool foo_node_pool = rancher2.NodePool("foo", cluster_id=foo_custom.id, @@ -2085,27 +2085,27 @@ def __init__(__self__, # Create a new rancher2 cluster template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + }, + }, + "default": True, + }], description="Test cluster template v2") # Create a new rancher2 RKE Cluster from template foo_cluster = rancher2.Cluster("foo", @@ -2123,25 +2123,25 @@ def __init__(__self__, foo = rancher2.Cluster("foo", name="foo", description="Terraform custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterRkeConfigServicesArgs( - etcd=rancher2.ClusterRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - kube_api=rancher2.ClusterRkeConfigServicesKubeApiArgs( - audit_log=rancher2.ClusterRkeConfigServicesKubeApiAuditLogArgs( - enabled=True, - configuration=rancher2.ClusterRkeConfigServicesKubeApiAuditLogConfigurationArgs( - max_age=5, - max_backup=5, - max_size=100, - path="-", - format="json", - policy=\"\"\"apiVersion: audit.k8s.io/v1 + rke_config={ + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + "kube_api": { + "audit_log": { + "enabled": True, + "configuration": { + "max_age": 5, + "max_backup": 5, + "max_size": 100, + "path": "-", + "format": "json", + "policy": \"\"\"apiVersion: audit.k8s.io/v1 kind: Policy metadata: creationTimestamp: null @@ -2153,15 +2153,15 @@ def __init__(__self__, - resources: - pods \"\"\", - ), - ), - ), - ), - upgrade_strategy=rancher2.ClusterRkeConfigUpgradeStrategyArgs( - drain=True, - max_unavailable_worker="20%", - ), - )) + }, + }, + }, + }, + "upgrade_strategy": { + "drain": True, + "max_unavailable_worker": "20%", + }, + }) ``` ### Creating Rancher v2 RKE cluster with cluster agent customization. For Rancher v2.7.5 and above. @@ -2173,18 +2173,18 @@ def __init__(__self__, foo = rancher2.Cluster("foo", name="foo", description="Terraform cluster with agent customization", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - ), - cluster_agent_deployment_customizations=[rancher2.ClusterClusterAgentDeploymentCustomizationArgs( - append_tolerations=[rancher2.ClusterClusterAgentDeploymentCustomizationAppendTolerationArgs( - effect="NoSchedule", - key="tolerate/control-plane", - value="true", - )], - override_affinity=\"\"\"{ + rke_config={ + "network": { + "plugin": "canal", + }, + }, + cluster_agent_deployment_customizations=[{ + "append_tolerations": [{ + "effect": "NoSchedule", + "key": "tolerate/control-plane", + "value": "true", + }], + "override_affinity": \"\"\"{ "nodeAffinity": { "requiredDuringSchedulingIgnoredDuringExecution": { "nodeSelectorTerms": [{ @@ -2200,13 +2200,13 @@ def __init__(__self__, } } \"\"\", - override_resource_requirements=[rancher2.ClusterClusterAgentDeploymentCustomizationOverrideResourceRequirementArgs( - cpu_limit="800", - cpu_request="500", - memory_limit="800", - memory_request="500", - )], - )]) + "override_resource_requirements": [{ + "cpu_limit": "800", + "cpu_request": "500", + "memory_limit": "800", + "memory_request": "500", + }], + }]) ``` ### Creating Rancher v2 RKE cluster with Pod Security Admission Configuration Template (PSACT). For Rancher v2.7.2 and above. @@ -2219,31 +2219,31 @@ def __init__(__self__, foo = rancher2.PodSecurityAdmissionConfigurationTemplate("foo", name="custom-psact", description="This is my custom Pod Security Admission Configuration Template", - defaults=rancher2.PodSecurityAdmissionConfigurationTemplateDefaultsArgs( - audit="restricted", - audit_version="latest", - enforce="restricted", - enforce_version="latest", - warn="restricted", - warn_version="latest", - ), - exemptions=rancher2.PodSecurityAdmissionConfigurationTemplateExemptionsArgs( - usernames=["testuser"], - runtime_classes=["testclass"], - namespaces=[ + defaults={ + "audit": "restricted", + "audit_version": "latest", + "enforce": "restricted", + "enforce_version": "latest", + "warn": "restricted", + "warn_version": "latest", + }, + exemptions={ + "usernames": ["testuser"], + "runtime_classes": ["testclass"], + "namespaces": [ "ingress-nginx", "kube-system", ], - )) + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform cluster with PSACT", default_pod_security_admission_configuration_template_name="", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) ``` ### Importing EKS cluster to Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above. @@ -2255,19 +2255,19 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - name="", - region="", - imported=True, - )) + eks_config_v2={ + "cloud_credential_id": foo.id, + "name": "", + "region": "", + "imported": True, + }) ``` ### Creating EKS cluster from Rancher v2, using `eks_config_v2`. For Rancher v2.5.x and above. @@ -2279,39 +2279,39 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - region="", - kubernetes_version="1.24", - logging_types=[ + eks_config_v2={ + "cloud_credential_id": foo.id, + "region": "", + "kubernetes_version": "1.24", + "logging_types": [ "audit", "api", ], - node_groups=[ - rancher2.ClusterEksConfigV2NodeGroupArgs( - name="node_group1", - instance_type="t3.medium", - desired_size=3, - max_size=5, - ), - rancher2.ClusterEksConfigV2NodeGroupArgs( - name="node_group2", - instance_type="m5.xlarge", - desired_size=2, - max_size=3, - node_role="arn:aws:iam::role/test-NodeInstanceRole", - ), + "node_groups": [ + { + "name": "node_group1", + "instance_type": "t3.medium", + "desired_size": 3, + "max_size": 5, + }, + { + "name": "node_group2", + "instance_type": "m5.xlarge", + "desired_size": 2, + "max_size": 3, + "node_role": "arn:aws:iam::role/test-NodeInstanceRole", + }, ], - private_access=True, - public_access=False, - )) + "private_access": True, + "public_access": False, + }) ``` ### Creating EKS cluster from Rancher v2, using `eks_config_v2` and launch template. For Rancher v2.5.6 and above. @@ -2325,33 +2325,33 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_cluster = rancher2.Cluster("foo", name="foo", description="Terraform EKS cluster", - eks_config_v2=rancher2.ClusterEksConfigV2Args( - cloud_credential_id=foo.id, - region="", - kubernetes_version="1.24", - logging_types=[ + eks_config_v2={ + "cloud_credential_id": foo.id, + "region": "", + "kubernetes_version": "1.24", + "logging_types": [ "audit", "api", ], - node_groups=[rancher2.ClusterEksConfigV2NodeGroupArgs( - desired_size=3, - max_size=5, - name="node_group1", - launch_templates=[rancher2.ClusterEksConfigV2NodeGroupLaunchTemplateArgs( - id="", - version=1, - )], - )], - private_access=True, - public_access=True, - )) + "node_groups": [{ + "desired_size": 3, + "max_size": 5, + "name": "node_group1", + "launch_templates": [{ + "id": "", + "version": 1, + }], + }], + "private_access": True, + "public_access": True, + }) ``` ### Creating AKS cluster from Rancher v2, using `aks_config_v2`. For Rancher v2.6.0 and above. @@ -2362,60 +2362,60 @@ def __init__(__self__, foo_aks = rancher2.CloudCredential("foo-aks", name="foo-aks", - azure_credential_config=rancher2.CloudCredentialAzureCredentialConfigArgs( - client_id="", - client_secret="", - subscription_id="", - )) + azure_credential_config={ + "client_id": "", + "client_secret": "", + "subscription_id": "", + }) foo = rancher2.Cluster("foo", name="foo", description="Terraform AKS cluster", - aks_config_v2=rancher2.ClusterAksConfigV2Args( - cloud_credential_id=foo_aks.id, - resource_group="", - resource_location="", - dns_prefix="", - kubernetes_version="1.24.6", - network_plugin="", - virtual_network="", - virtual_network_resource_group="", - subnet="", - node_resource_group="", - node_pools=[ - rancher2.ClusterAksConfigV2NodePoolArgs( - availability_zones=[ + aks_config_v2={ + "cloud_credential_id": foo_aks.id, + "resource_group": "", + "resource_location": "", + "dns_prefix": "", + "kubernetes_version": "1.24.6", + "network_plugin": "", + "virtual_network": "", + "virtual_network_resource_group": "", + "subnet": "", + "node_resource_group": "", + "node_pools": [ + { + "availability_zones": [ "1", "2", "3", ], - name="", - mode="System", - count=1, - orchestrator_version="1.21.2", - os_disk_size_gb=128, - vm_size="Standard_DS2_v2", - ), - rancher2.ClusterAksConfigV2NodePoolArgs( - availability_zones=[ + "name": "", + "mode": "System", + "count": 1, + "orchestrator_version": "1.21.2", + "os_disk_size_gb": 128, + "vm_size": "Standard_DS2_v2", + }, + { + "availability_zones": [ "1", "2", "3", ], - name="", - count=1, - mode="User", - orchestrator_version="1.21.2", - os_disk_size_gb=128, - vm_size="Standard_DS2_v2", - max_surge="25%", - labels={ + "name": "", + "count": 1, + "mode": "User", + "orchestrator_version": "1.21.2", + "os_disk_size_gb": 128, + "vm_size": "Standard_DS2_v2", + "max_surge": "25%", + "labels": { "test1": "data1", "test2": "data2", }, - taints=["none:PreferNoSchedule"], - ), + "taints": ["none:PreferNoSchedule"], + }, ], - )) + }) ``` ## Import @@ -2441,16 +2441,16 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAgentEnvVarArgs']]]]] = None, - aks_config: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigArgs']]] = None, - aks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigV2Args']]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAgentEnvVarArgs', 'ClusterAgentEnvVarArgsDict']]]]] = None, + aks_config: Optional[pulumi.Input[Union['ClusterAksConfigArgs', 'ClusterAksConfigArgsDict']]] = None, + aks_config_v2: Optional[pulumi.Input[Union['ClusterAksConfigV2Args', 'ClusterAksConfigV2ArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterAgentDeploymentCustomizationArgs']]]]] = None, - cluster_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterClusterAuthEndpointArgs']]] = None, - cluster_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ClusterClusterMonitoringInputArgs']]] = None, - cluster_template_answers: Optional[pulumi.Input[pulumi.InputType['ClusterClusterTemplateAnswersArgs']]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterAgentDeploymentCustomizationArgs', 'ClusterClusterAgentDeploymentCustomizationArgsDict']]]]] = None, + cluster_auth_endpoint: Optional[pulumi.Input[Union['ClusterClusterAuthEndpointArgs', 'ClusterClusterAuthEndpointArgsDict']]] = None, + cluster_monitoring_input: Optional[pulumi.Input[Union['ClusterClusterMonitoringInputArgs', 'ClusterClusterMonitoringInputArgsDict']]] = None, + cluster_template_answers: Optional[pulumi.Input[Union['ClusterClusterTemplateAnswersArgs', 'ClusterClusterTemplateAnswersArgsDict']]] = None, cluster_template_id: Optional[pulumi.Input[str]] = None, - cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterTemplateQuestionArgs']]]]] = None, + cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterTemplateQuestionArgs', 'ClusterClusterTemplateQuestionArgsDict']]]]] = None, cluster_template_revision_id: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, @@ -2459,21 +2459,21 @@ def _internal_init(__self__, desired_auth_image: Optional[pulumi.Input[str]] = None, docker_root_dir: Optional[pulumi.Input[str]] = None, driver: Optional[pulumi.Input[str]] = None, - eks_config: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigArgs']]] = None, - eks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigV2Args']]] = None, + eks_config: Optional[pulumi.Input[Union['ClusterEksConfigArgs', 'ClusterEksConfigArgsDict']]] = None, + eks_config_v2: Optional[pulumi.Input[Union['ClusterEksConfigV2Args', 'ClusterEksConfigV2ArgsDict']]] = None, enable_cluster_alerting: Optional[pulumi.Input[bool]] = None, enable_cluster_monitoring: Optional[pulumi.Input[bool]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterFleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterFleetAgentDeploymentCustomizationArgs', 'ClusterFleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_workspace_name: Optional[pulumi.Input[str]] = None, - gke_config: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigArgs']]] = None, - gke_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigV2Args']]] = None, - k3s_config: Optional[pulumi.Input[pulumi.InputType['ClusterK3sConfigArgs']]] = None, + gke_config: Optional[pulumi.Input[Union['ClusterGkeConfigArgs', 'ClusterGkeConfigArgsDict']]] = None, + gke_config_v2: Optional[pulumi.Input[Union['ClusterGkeConfigV2Args', 'ClusterGkeConfigV2ArgsDict']]] = None, + k3s_config: Optional[pulumi.Input[Union['ClusterK3sConfigArgs', 'ClusterK3sConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - oke_config: Optional[pulumi.Input[pulumi.InputType['ClusterOkeConfigArgs']]] = None, - rke2_config: Optional[pulumi.Input[pulumi.InputType['ClusterRke2ConfigArgs']]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterRkeConfigArgs']]] = None, + oke_config: Optional[pulumi.Input[Union['ClusterOkeConfigArgs', 'ClusterOkeConfigArgsDict']]] = None, + rke2_config: Optional[pulumi.Input[Union['ClusterRke2ConfigArgs', 'ClusterRke2ConfigArgsDict']]] = None, + rke_config: Optional[pulumi.Input[Union['ClusterRkeConfigArgs', 'ClusterRkeConfigArgsDict']]] = None, windows_prefered_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -2537,18 +2537,18 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAgentEnvVarArgs']]]]] = None, - aks_config: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigArgs']]] = None, - aks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterAksConfigV2Args']]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAgentEnvVarArgs', 'ClusterAgentEnvVarArgsDict']]]]] = None, + aks_config: Optional[pulumi.Input[Union['ClusterAksConfigArgs', 'ClusterAksConfigArgsDict']]] = None, + aks_config_v2: Optional[pulumi.Input[Union['ClusterAksConfigV2Args', 'ClusterAksConfigV2ArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, ca_cert: Optional[pulumi.Input[str]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterAgentDeploymentCustomizationArgs']]]]] = None, - cluster_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterClusterAuthEndpointArgs']]] = None, - cluster_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ClusterClusterMonitoringInputArgs']]] = None, - cluster_registration_token: Optional[pulumi.Input[pulumi.InputType['ClusterClusterRegistrationTokenArgs']]] = None, - cluster_template_answers: Optional[pulumi.Input[pulumi.InputType['ClusterClusterTemplateAnswersArgs']]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterAgentDeploymentCustomizationArgs', 'ClusterClusterAgentDeploymentCustomizationArgsDict']]]]] = None, + cluster_auth_endpoint: Optional[pulumi.Input[Union['ClusterClusterAuthEndpointArgs', 'ClusterClusterAuthEndpointArgsDict']]] = None, + cluster_monitoring_input: Optional[pulumi.Input[Union['ClusterClusterMonitoringInputArgs', 'ClusterClusterMonitoringInputArgsDict']]] = None, + cluster_registration_token: Optional[pulumi.Input[Union['ClusterClusterRegistrationTokenArgs', 'ClusterClusterRegistrationTokenArgsDict']]] = None, + cluster_template_answers: Optional[pulumi.Input[Union['ClusterClusterTemplateAnswersArgs', 'ClusterClusterTemplateAnswersArgsDict']]] = None, cluster_template_id: Optional[pulumi.Input[str]] = None, - cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterTemplateQuestionArgs']]]]] = None, + cluster_template_questions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterTemplateQuestionArgs', 'ClusterClusterTemplateQuestionArgsDict']]]]] = None, cluster_template_revision_id: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, @@ -2558,24 +2558,24 @@ def get(resource_name: str, desired_auth_image: Optional[pulumi.Input[str]] = None, docker_root_dir: Optional[pulumi.Input[str]] = None, driver: Optional[pulumi.Input[str]] = None, - eks_config: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigArgs']]] = None, - eks_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterEksConfigV2Args']]] = None, + eks_config: Optional[pulumi.Input[Union['ClusterEksConfigArgs', 'ClusterEksConfigArgsDict']]] = None, + eks_config_v2: Optional[pulumi.Input[Union['ClusterEksConfigV2Args', 'ClusterEksConfigV2ArgsDict']]] = None, enable_cluster_alerting: Optional[pulumi.Input[bool]] = None, enable_cluster_istio: Optional[pulumi.Input[bool]] = None, enable_cluster_monitoring: Optional[pulumi.Input[bool]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterFleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterFleetAgentDeploymentCustomizationArgs', 'ClusterFleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_workspace_name: Optional[pulumi.Input[str]] = None, - gke_config: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigArgs']]] = None, - gke_config_v2: Optional[pulumi.Input[pulumi.InputType['ClusterGkeConfigV2Args']]] = None, + gke_config: Optional[pulumi.Input[Union['ClusterGkeConfigArgs', 'ClusterGkeConfigArgsDict']]] = None, + gke_config_v2: Optional[pulumi.Input[Union['ClusterGkeConfigV2Args', 'ClusterGkeConfigV2ArgsDict']]] = None, istio_enabled: Optional[pulumi.Input[bool]] = None, - k3s_config: Optional[pulumi.Input[pulumi.InputType['ClusterK3sConfigArgs']]] = None, + k3s_config: Optional[pulumi.Input[Union['ClusterK3sConfigArgs', 'ClusterK3sConfigArgsDict']]] = None, kube_config: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - oke_config: Optional[pulumi.Input[pulumi.InputType['ClusterOkeConfigArgs']]] = None, - rke2_config: Optional[pulumi.Input[pulumi.InputType['ClusterRke2ConfigArgs']]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterRkeConfigArgs']]] = None, + oke_config: Optional[pulumi.Input[Union['ClusterOkeConfigArgs', 'ClusterOkeConfigArgsDict']]] = None, + rke2_config: Optional[pulumi.Input[Union['ClusterRke2ConfigArgs', 'ClusterRke2ConfigArgsDict']]] = None, + rke_config: Optional[pulumi.Input[Union['ClusterRkeConfigArgs', 'ClusterRkeConfigArgsDict']]] = None, system_project_id: Optional[pulumi.Input[str]] = None, windows_prefered_cluster: Optional[pulumi.Input[bool]] = None) -> 'Cluster': """ @@ -2585,18 +2585,18 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAgentEnvVarArgs']]]] agent_env_vars: Optional Agent Env Vars for Rancher agent. For Rancher v2.5.6 and above (list) - :param pulumi.Input[pulumi.InputType['ClusterAksConfigArgs']] aks_config: The Azure AKS configuration for `aks` Clusters. Conflicts with `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterAksConfigV2Args']] aks_config_v2: The Azure AKS v2 configuration for creating/import `aks` Clusters. Conflicts with `aks_config`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterAgentEnvVarArgs', 'ClusterAgentEnvVarArgsDict']]]] agent_env_vars: Optional Agent Env Vars for Rancher agent. For Rancher v2.5.6 and above (list) + :param pulumi.Input[Union['ClusterAksConfigArgs', 'ClusterAksConfigArgsDict']] aks_config: The Azure AKS configuration for `aks` Clusters. Conflicts with `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterAksConfigV2Args', 'ClusterAksConfigV2ArgsDict']] aks_config_v2: The Azure AKS v2 configuration for creating/import `aks` Clusters. Conflicts with `aks_config`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for the Cluster (map) :param pulumi.Input[str] ca_cert: (Computed/Sensitive) K8s cluster ca cert (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterAgentDeploymentCustomizationArgs']]]] cluster_agent_deployment_customizations: Optional customization for cluster agent. For Rancher v2.7.5 and above (list) - :param pulumi.Input[pulumi.InputType['ClusterClusterAuthEndpointArgs']] cluster_auth_endpoint: Enabling the [local cluster authorized endpoint](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#local-cluster-auth-endpoint) allows direct communication with the cluster, bypassing the Rancher API proxy. (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterClusterMonitoringInputArgs']] cluster_monitoring_input: Cluster monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterClusterRegistrationTokenArgs']] cluster_registration_token: (Computed) Cluster Registration Token generated for the cluster (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterClusterTemplateAnswersArgs']] cluster_template_answers: Cluster template answers. For Rancher v2.3.x and above (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterAgentDeploymentCustomizationArgs', 'ClusterClusterAgentDeploymentCustomizationArgsDict']]]] cluster_agent_deployment_customizations: Optional customization for cluster agent. For Rancher v2.7.5 and above (list) + :param pulumi.Input[Union['ClusterClusterAuthEndpointArgs', 'ClusterClusterAuthEndpointArgsDict']] cluster_auth_endpoint: Enabling the [local cluster authorized endpoint](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#local-cluster-auth-endpoint) allows direct communication with the cluster, bypassing the Rancher API proxy. (list maxitems:1) + :param pulumi.Input[Union['ClusterClusterMonitoringInputArgs', 'ClusterClusterMonitoringInputArgsDict']] cluster_monitoring_input: Cluster monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) + :param pulumi.Input[Union['ClusterClusterRegistrationTokenArgs', 'ClusterClusterRegistrationTokenArgsDict']] cluster_registration_token: (Computed) Cluster Registration Token generated for the cluster (list maxitems:1) + :param pulumi.Input[Union['ClusterClusterTemplateAnswersArgs', 'ClusterClusterTemplateAnswersArgsDict']] cluster_template_answers: Cluster template answers. For Rancher v2.3.x and above (list maxitems:1) :param pulumi.Input[str] cluster_template_id: Cluster template ID. For Rancher v2.3.x and above (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterClusterTemplateQuestionArgs']]]] cluster_template_questions: Cluster template questions. For Rancher v2.3.x and above (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterClusterTemplateQuestionArgs', 'ClusterClusterTemplateQuestionArgsDict']]]] cluster_template_questions: Cluster template questions. For Rancher v2.3.x and above (list) :param pulumi.Input[str] cluster_template_revision_id: Cluster template revision ID. For Rancher v2.3.x and above (string) :param pulumi.Input[str] default_pod_security_admission_configuration_template_name: The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates). The argument is available in Rancher v2.7.2 and above (string) :param pulumi.Input[str] default_pod_security_policy_template_id: [Default pod security policy template id](https://rancher.com/docs/rancher/v2.x/en/cluster-provisioning/rke-clusters/options/#pod-security-policy-support) (string) @@ -2606,24 +2606,24 @@ def get(resource_name: str, :param pulumi.Input[str] desired_auth_image: Desired auth image. For Rancher v2.3.x and above (string) :param pulumi.Input[str] docker_root_dir: Desired auth image. For Rancher v2.3.x and above (string) :param pulumi.Input[str] driver: (Computed) The driver used for the Cluster. `imported`, `azurekubernetesservice`, `amazonelasticcontainerservice`, `googlekubernetesengine` and `rancherKubernetesEngine` are supported (string) - :param pulumi.Input[pulumi.InputType['ClusterEksConfigArgs']] eks_config: The Amazon EKS configuration for `eks` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterEksConfigV2Args']] eks_config_v2: The Amazon EKS V2 configuration to create or import `eks` Clusters. Conflicts with `aks_config`, `eks_config`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config`. For Rancher v2.5.x and above (list maxitems:1) + :param pulumi.Input[Union['ClusterEksConfigArgs', 'ClusterEksConfigArgsDict']] eks_config: The Amazon EKS configuration for `eks` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterEksConfigV2Args', 'ClusterEksConfigV2ArgsDict']] eks_config_v2: The Amazon EKS V2 configuration to create or import `eks` Clusters. Conflicts with `aks_config`, `eks_config`, `gke_config`, `gke_config_v2`, `oke_config` `k3s_config` and `rke_config`. For Rancher v2.5.x and above (list maxitems:1) :param pulumi.Input[bool] enable_cluster_alerting: Enable built-in cluster alerting (bool) :param pulumi.Input[bool] enable_cluster_istio: Deploy istio on `system` project and `istio-system` namespace, using App resource instead. See above example. :param pulumi.Input[bool] enable_cluster_monitoring: Enable built-in cluster monitoring (bool) :param pulumi.Input[bool] enable_network_policy: Enable project network isolation (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterFleetAgentDeploymentCustomizationArgs']]]] fleet_agent_deployment_customizations: Optional customization for fleet agent. For Rancher v2.7.5 and above (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterFleetAgentDeploymentCustomizationArgs', 'ClusterFleetAgentDeploymentCustomizationArgsDict']]]] fleet_agent_deployment_customizations: Optional customization for fleet agent. For Rancher v2.7.5 and above (list) :param pulumi.Input[str] fleet_workspace_name: Fleet workspace name (string) - :param pulumi.Input[pulumi.InputType['ClusterGkeConfigArgs']] gke_config: The Google GKE configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config_v2`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterGkeConfigV2Args']] gke_config_v2: The Google GKE V2 configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `oke_config`, `k3s_config` and `rke_config`. For Rancher v2.5.8 and above (list maxitems:1) + :param pulumi.Input[Union['ClusterGkeConfigArgs', 'ClusterGkeConfigArgsDict']] gke_config: The Google GKE configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config_v2`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterGkeConfigV2Args', 'ClusterGkeConfigV2ArgsDict']] gke_config_v2: The Google GKE V2 configuration for `gke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `oke_config`, `k3s_config` and `rke_config`. For Rancher v2.5.8 and above (list maxitems:1) :param pulumi.Input[bool] istio_enabled: (Computed) Is istio enabled at cluster? For Rancher v2.3.x and above (bool) - :param pulumi.Input[pulumi.InputType['ClusterK3sConfigArgs']] k3s_config: The K3S configuration for `k3s` imported Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterK3sConfigArgs', 'ClusterK3sConfigArgsDict']] k3s_config: The K3S configuration for `k3s` imported Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `rke_config` (list maxitems:1) :param pulumi.Input[str] kube_config: (Computed/Sensitive) Kube Config generated for the cluster. Note: For Rancher 2.6.0 and above, when the cluster has `cluster_auth_endpoint` enabled, the kube_config will not be available until the cluster is `connected` (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for the Cluster (map) :param pulumi.Input[str] name: The name of the Cluster (string) - :param pulumi.Input[pulumi.InputType['ClusterOkeConfigArgs']] oke_config: The Oracle OKE configuration for `oke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterRke2ConfigArgs']] rke2_config: The RKE2 configuration for `rke2` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `gke_config`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ClusterRkeConfigArgs']] rke_config: The RKE configuration for `rke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `k3s_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterOkeConfigArgs', 'ClusterOkeConfigArgsDict']] oke_config: The Oracle OKE configuration for `oke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterRke2ConfigArgs', 'ClusterRke2ConfigArgsDict']] rke2_config: The RKE2 configuration for `rke2` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `gke_config`, `oke_config`, `k3s_config` and `rke_config` (list maxitems:1) + :param pulumi.Input[Union['ClusterRkeConfigArgs', 'ClusterRkeConfigArgsDict']] rke_config: The RKE configuration for `rke` Clusters. Conflicts with `aks_config`, `aks_config_v2`, `eks_config`, `eks_config_v2`, `gke_config`, `gke_config_v2`, `oke_config` and `k3s_config` (list maxitems:1) :param pulumi.Input[str] system_project_id: (Computed) System project ID for the cluster (string) :param pulumi.Input[bool] windows_prefered_cluster: Windows preferred cluster. Default: `false` (bool) """ diff --git a/sdk/python/pulumi_rancher2/cluster_alert_group.py b/sdk/python/pulumi_rancher2/cluster_alert_group.py index 08c2741d8..a513cf448 100644 --- a/sdk/python/pulumi_rancher2/cluster_alert_group.py +++ b/sdk/python/pulumi_rancher2/cluster_alert_group.py @@ -328,7 +328,7 @@ def __init__(__self__, group_wait_seconds: Optional[pulumi.Input[int]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAlertGroupRecipientArgs', 'ClusterAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, __props__=None): """ @@ -366,7 +366,7 @@ def __init__(__self__, :param pulumi.Input[int] group_wait_seconds: The cluster alert group wait seconds. Default: `180` (int) :param pulumi.Input[Mapping[str, Any]] labels: The cluster alert group labels (map) :param pulumi.Input[str] name: The cluster alert group name (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAlertGroupRecipientArgs']]]] recipients: The cluster alert group recipients (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterAlertGroupRecipientArgs', 'ClusterAlertGroupRecipientArgsDict']]]] recipients: The cluster alert group recipients (list) :param pulumi.Input[int] repeat_interval_seconds: The cluster alert group wait seconds. Default: `3600` (int) """ ... @@ -423,7 +423,7 @@ def _internal_init(__self__, group_wait_seconds: Optional[pulumi.Input[int]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAlertGroupRecipientArgs', 'ClusterAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -462,7 +462,7 @@ def get(resource_name: str, group_wait_seconds: Optional[pulumi.Input[int]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterAlertGroupRecipientArgs', 'ClusterAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None) -> 'ClusterAlertGroup': """ Get an existing ClusterAlertGroup resource's state with the given name, id, and optional extra @@ -478,7 +478,7 @@ def get(resource_name: str, :param pulumi.Input[int] group_wait_seconds: The cluster alert group wait seconds. Default: `180` (int) :param pulumi.Input[Mapping[str, Any]] labels: The cluster alert group labels (map) :param pulumi.Input[str] name: The cluster alert group name (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterAlertGroupRecipientArgs']]]] recipients: The cluster alert group recipients (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterAlertGroupRecipientArgs', 'ClusterAlertGroupRecipientArgsDict']]]] recipients: The cluster alert group recipients (list) :param pulumi.Input[int] repeat_interval_seconds: The cluster alert group wait seconds. Default: `3600` (int) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/cluster_alert_rule.py b/sdk/python/pulumi_rancher2/cluster_alert_rule.py index fbfa104a1..34e1a590f 100644 --- a/sdk/python/pulumi_rancher2/cluster_alert_rule.py +++ b/sdk/python/pulumi_rancher2/cluster_alert_rule.py @@ -482,18 +482,18 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - event_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleEventRuleArgs']]] = None, + event_rule: Optional[pulumi.Input[Union['ClusterAlertRuleEventRuleArgs', 'ClusterAlertRuleEventRuleArgsDict']]] = None, group_id: Optional[pulumi.Input[str]] = None, group_interval_seconds: Optional[pulumi.Input[int]] = None, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ClusterAlertRuleMetricRuleArgs', 'ClusterAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleNodeRuleArgs']]] = None, + node_rule: Optional[pulumi.Input[Union['ClusterAlertRuleNodeRuleArgs', 'ClusterAlertRuleNodeRuleArgsDict']]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - system_service_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleSystemServiceRuleArgs']]] = None, + system_service_rule: Optional[pulumi.Input[Union['ClusterAlertRuleSystemServiceRuleArgs', 'ClusterAlertRuleSystemServiceRuleArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Cluster Alert Rule resource. This can be used to create Cluster Alert Rule for Rancher v2 environments and retrieve their information. @@ -532,18 +532,18 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: The cluster alert rule annotations (map) :param pulumi.Input[str] cluster_id: The cluster id where create cluster alert rule (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleEventRuleArgs']] event_rule: The cluster alert rule event rule. ConflictsWith: `"metric_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleEventRuleArgs', 'ClusterAlertRuleEventRuleArgsDict']] event_rule: The cluster alert rule event rule. ConflictsWith: `"metric_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[str] group_id: The cluster alert rule alert group ID (string) :param pulumi.Input[int] group_interval_seconds: The cluster alert rule group interval seconds. Default: `180` (int) :param pulumi.Input[int] group_wait_seconds: The cluster alert rule group wait seconds. Default: `180` (int) :param pulumi.Input[bool] inherited: The cluster alert rule inherited. Default: `true` (bool) :param pulumi.Input[Mapping[str, Any]] labels: The cluster alert rule labels (map) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleMetricRuleArgs']] metric_rule: The cluster alert rule metric rule. ConflictsWith: `"event_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleMetricRuleArgs', 'ClusterAlertRuleMetricRuleArgsDict']] metric_rule: The cluster alert rule metric rule. ConflictsWith: `"event_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[str] name: The cluster alert rule name (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleNodeRuleArgs']] node_rule: The cluster alert rule node rule. ConflictsWith: `"event_rule", "metric_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleNodeRuleArgs', 'ClusterAlertRuleNodeRuleArgsDict']] node_rule: The cluster alert rule node rule. ConflictsWith: `"event_rule", "metric_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[int] repeat_interval_seconds: The cluster alert rule wait seconds. Default: `3600` (int) :param pulumi.Input[str] severity: The cluster alert rule severity. Supported values : `"critical" | "info" | "warning"`. Default: `critical` (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleSystemServiceRuleArgs']] system_service_rule: The cluster alert rule system service rule. ConflictsWith: `"event_rule", "metric_rule", "node_rule"` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleSystemServiceRuleArgs', 'ClusterAlertRuleSystemServiceRuleArgsDict']] system_service_rule: The cluster alert rule system service rule. ConflictsWith: `"event_rule", "metric_rule", "node_rule"` (list Maxitems:1) """ ... @overload @@ -601,18 +601,18 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - event_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleEventRuleArgs']]] = None, + event_rule: Optional[pulumi.Input[Union['ClusterAlertRuleEventRuleArgs', 'ClusterAlertRuleEventRuleArgsDict']]] = None, group_id: Optional[pulumi.Input[str]] = None, group_interval_seconds: Optional[pulumi.Input[int]] = None, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ClusterAlertRuleMetricRuleArgs', 'ClusterAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleNodeRuleArgs']]] = None, + node_rule: Optional[pulumi.Input[Union['ClusterAlertRuleNodeRuleArgs', 'ClusterAlertRuleNodeRuleArgsDict']]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - system_service_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleSystemServiceRuleArgs']]] = None, + system_service_rule: Optional[pulumi.Input[Union['ClusterAlertRuleSystemServiceRuleArgs', 'ClusterAlertRuleSystemServiceRuleArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -652,18 +652,18 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - event_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleEventRuleArgs']]] = None, + event_rule: Optional[pulumi.Input[Union['ClusterAlertRuleEventRuleArgs', 'ClusterAlertRuleEventRuleArgsDict']]] = None, group_id: Optional[pulumi.Input[str]] = None, group_interval_seconds: Optional[pulumi.Input[int]] = None, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ClusterAlertRuleMetricRuleArgs', 'ClusterAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleNodeRuleArgs']]] = None, + node_rule: Optional[pulumi.Input[Union['ClusterAlertRuleNodeRuleArgs', 'ClusterAlertRuleNodeRuleArgsDict']]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - system_service_rule: Optional[pulumi.Input[pulumi.InputType['ClusterAlertRuleSystemServiceRuleArgs']]] = None) -> 'ClusterAlertRule': + system_service_rule: Optional[pulumi.Input[Union['ClusterAlertRuleSystemServiceRuleArgs', 'ClusterAlertRuleSystemServiceRuleArgsDict']]] = None) -> 'ClusterAlertRule': """ Get an existing ClusterAlertRule resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -673,18 +673,18 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: The cluster alert rule annotations (map) :param pulumi.Input[str] cluster_id: The cluster id where create cluster alert rule (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleEventRuleArgs']] event_rule: The cluster alert rule event rule. ConflictsWith: `"metric_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleEventRuleArgs', 'ClusterAlertRuleEventRuleArgsDict']] event_rule: The cluster alert rule event rule. ConflictsWith: `"metric_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[str] group_id: The cluster alert rule alert group ID (string) :param pulumi.Input[int] group_interval_seconds: The cluster alert rule group interval seconds. Default: `180` (int) :param pulumi.Input[int] group_wait_seconds: The cluster alert rule group wait seconds. Default: `180` (int) :param pulumi.Input[bool] inherited: The cluster alert rule inherited. Default: `true` (bool) :param pulumi.Input[Mapping[str, Any]] labels: The cluster alert rule labels (map) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleMetricRuleArgs']] metric_rule: The cluster alert rule metric rule. ConflictsWith: `"event_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleMetricRuleArgs', 'ClusterAlertRuleMetricRuleArgsDict']] metric_rule: The cluster alert rule metric rule. ConflictsWith: `"event_rule", "node_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[str] name: The cluster alert rule name (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleNodeRuleArgs']] node_rule: The cluster alert rule node rule. ConflictsWith: `"event_rule", "metric_rule", "system_service_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleNodeRuleArgs', 'ClusterAlertRuleNodeRuleArgsDict']] node_rule: The cluster alert rule node rule. ConflictsWith: `"event_rule", "metric_rule", "system_service_rule"`` (list Maxitems:1) :param pulumi.Input[int] repeat_interval_seconds: The cluster alert rule wait seconds. Default: `3600` (int) :param pulumi.Input[str] severity: The cluster alert rule severity. Supported values : `"critical" | "info" | "warning"`. Default: `critical` (string) - :param pulumi.Input[pulumi.InputType['ClusterAlertRuleSystemServiceRuleArgs']] system_service_rule: The cluster alert rule system service rule. ConflictsWith: `"event_rule", "metric_rule", "node_rule"` (list Maxitems:1) + :param pulumi.Input[Union['ClusterAlertRuleSystemServiceRuleArgs', 'ClusterAlertRuleSystemServiceRuleArgsDict']] system_service_rule: The cluster alert rule system service rule. ConflictsWith: `"event_rule", "metric_rule", "node_rule"` (list Maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/cluster_sync.py b/sdk/python/pulumi_rancher2/cluster_sync.py index 98cbbd40c..e2cd8e221 100644 --- a/sdk/python/pulumi_rancher2/cluster_sync.py +++ b/sdk/python/pulumi_rancher2/cluster_sync.py @@ -340,25 +340,25 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Node Template foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) # Create a new rancher2 Node Pool foo_node_pool = rancher2.NodePool("foo", cluster_id=foo_custom.id, @@ -378,24 +378,24 @@ def __init__(__self__, name="foo", cluster_id=foo_custom_cluster_sync.id, description="Terraform namespace acceptance test", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="500m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "500m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` :param str resource_name: The name of the resource. @@ -426,25 +426,25 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Node Template foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) # Create a new rancher2 Node Pool foo_node_pool = rancher2.NodePool("foo", cluster_id=foo_custom.id, @@ -464,24 +464,24 @@ def __init__(__self__, name="foo", cluster_id=foo_custom_cluster_sync.id, description="Terraform namespace acceptance test", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="500m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "500m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` :param str resource_name: The name of the resource. @@ -544,7 +544,7 @@ def get(resource_name: str, default_project_id: Optional[pulumi.Input[str]] = None, kube_config: Optional[pulumi.Input[str]] = None, node_pool_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - nodes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterSyncNodeArgs']]]]] = None, + nodes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterSyncNodeArgs', 'ClusterSyncNodeArgsDict']]]]] = None, state_confirm: Optional[pulumi.Input[int]] = None, synced: Optional[pulumi.Input[bool]] = None, system_project_id: Optional[pulumi.Input[str]] = None, @@ -562,7 +562,7 @@ def get(resource_name: str, :param pulumi.Input[str] default_project_id: (Computed) Default project ID for the cluster sync (string) :param pulumi.Input[str] kube_config: (Computed/Sensitive) Kube Config generated for the cluster sync (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] node_pool_ids: The node pool IDs used by the cluster id (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterSyncNodeArgs']]]] nodes: (Computed) The cluster nodes (list). + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterSyncNodeArgs', 'ClusterSyncNodeArgsDict']]]] nodes: (Computed) The cluster nodes (list). :param pulumi.Input[int] state_confirm: Wait until active status is confirmed a number of times (wait interval of 5s). Default: `1` means no confirmation (int) **Note:** `state_confirm` would be useful, if you have troubles for creating/updating custom clusters that eventually are reaching `active` state before they are fully installed. For example: setting `state_confirm = 2` will assure that the cluster has been in `active` state for at least 5 seconds, `state_confirm = 3` assure at least 10 seconds, etc diff --git a/sdk/python/pulumi_rancher2/cluster_template.py b/sdk/python/pulumi_rancher2/cluster_template.py index ee4f177d1..1db6c68de 100644 --- a/sdk/python/pulumi_rancher2/cluster_template.py +++ b/sdk/python/pulumi_rancher2/cluster_template.py @@ -245,9 +245,9 @@ def __init__(__self__, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateMemberArgs', 'ClusterTemplateMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, - template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateTemplateRevisionArgs']]]]] = None, + template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateTemplateRevisionArgs', 'ClusterTemplateTemplateRevisionArgsDict']]]]] = None, __props__=None): """ Provides a Rancher v2 Cluster Template resource. This can be used to create Cluster Templates for Rancher v2 RKE clusters and retrieve their information. @@ -263,27 +263,27 @@ def __init__(__self__, # Create a new rancher2 Cluster Template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + }, + }, + "default": True, + }], description="Terraform cluster template foo") ``` @@ -296,31 +296,31 @@ def __init__(__self__, # Create a new rancher2 Cluster Template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - upgrade_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs( - drain=True, - max_unavailable_worker="20%", - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + "upgrade_strategy": { + "drain": True, + "max_unavailable_worker": "20%", + }, + }, + }, + "default": True, + }], description="Terraform cluster template foo") ``` @@ -337,9 +337,9 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for the cluster template (map) :param pulumi.Input[str] description: Cluster template description :param pulumi.Input[Mapping[str, Any]] labels: Labels for the cluster template (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateMemberArgs']]]] members: Cluster template members (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateMemberArgs', 'ClusterTemplateMemberArgsDict']]]] members: Cluster template members (list) :param pulumi.Input[str] name: The cluster template name (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateTemplateRevisionArgs']]]] template_revisions: Cluster template revisions (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateTemplateRevisionArgs', 'ClusterTemplateTemplateRevisionArgsDict']]]] template_revisions: Cluster template revisions (list) """ ... @overload @@ -361,27 +361,27 @@ def __init__(__self__, # Create a new rancher2 Cluster Template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + }, + }, + "default": True, + }], description="Terraform cluster template foo") ``` @@ -394,31 +394,31 @@ def __init__(__self__, # Create a new rancher2 Cluster Template foo = rancher2.ClusterTemplate("foo", name="foo", - members=[rancher2.ClusterTemplateMemberArgs( - access_type="owner", - user_principal_id="local://user-XXXXX", - )], - template_revisions=[rancher2.ClusterTemplateTemplateRevisionArgs( - name="V1", - cluster_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigArgs( - rke_config=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigArgs( - network=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigNetworkArgs( - plugin="canal", - ), - services=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesArgs( - etcd=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigServicesEtcdArgs( - creation="6h", - retention="24h", - ), - ), - upgrade_strategy=rancher2.ClusterTemplateTemplateRevisionClusterConfigRkeConfigUpgradeStrategyArgs( - drain=True, - max_unavailable_worker="20%", - ), - ), - ), - default=True, - )], + members=[{ + "access_type": "owner", + "user_principal_id": "local://user-XXXXX", + }], + template_revisions=[{ + "name": "V1", + "cluster_config": { + "rke_config": { + "network": { + "plugin": "canal", + }, + "services": { + "etcd": { + "creation": "6h", + "retention": "24h", + }, + }, + "upgrade_strategy": { + "drain": True, + "max_unavailable_worker": "20%", + }, + }, + }, + "default": True, + }], description="Terraform cluster template foo") ``` @@ -448,9 +448,9 @@ def _internal_init(__self__, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateMemberArgs', 'ClusterTemplateMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, - template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateTemplateRevisionArgs']]]]] = None, + template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateTemplateRevisionArgs', 'ClusterTemplateTemplateRevisionArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -481,9 +481,9 @@ def get(resource_name: str, default_revision_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateMemberArgs', 'ClusterTemplateMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, - template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateTemplateRevisionArgs']]]]] = None) -> 'ClusterTemplate': + template_revisions: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateTemplateRevisionArgs', 'ClusterTemplateTemplateRevisionArgsDict']]]]] = None) -> 'ClusterTemplate': """ Get an existing ClusterTemplate resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -495,9 +495,9 @@ def get(resource_name: str, :param pulumi.Input[str] default_revision_id: (Computed) Default cluster template revision ID (string) :param pulumi.Input[str] description: Cluster template description :param pulumi.Input[Mapping[str, Any]] labels: Labels for the cluster template (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateMemberArgs']]]] members: Cluster template members (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateMemberArgs', 'ClusterTemplateMemberArgsDict']]]] members: Cluster template members (list) :param pulumi.Input[str] name: The cluster template name (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterTemplateTemplateRevisionArgs']]]] template_revisions: Cluster template revisions (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterTemplateTemplateRevisionArgs', 'ClusterTemplateTemplateRevisionArgsDict']]]] template_revisions: Cluster template revisions (list) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/cluster_v2.py b/sdk/python/pulumi_rancher2/cluster_v2.py index 5b31c8f64..721215a77 100644 --- a/sdk/python/pulumi_rancher2/cluster_v2.py +++ b/sdk/python/pulumi_rancher2/cluster_v2.py @@ -577,21 +577,21 @@ class ClusterV2(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2AgentEnvVarArgs']]]]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AgentEnvVarArgs', 'ClusterV2AgentEnvVarArgsDict']]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cloud_credential_secret_name: Optional[pulumi.Input[str]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2ClusterAgentDeploymentCustomizationArgs']]]]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2ClusterAgentDeploymentCustomizationArgs', 'ClusterV2ClusterAgentDeploymentCustomizationArgsDict']]]]] = None, default_cluster_role_for_project_members: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_name: Optional[pulumi.Input[str]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2FleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2FleetAgentDeploymentCustomizationArgs', 'ClusterV2FleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, kubernetes_version: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - local_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterV2LocalAuthEndpointArgs']]] = None, + local_auth_endpoint: Optional[pulumi.Input[Union['ClusterV2LocalAuthEndpointArgs', 'ClusterV2LocalAuthEndpointArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterV2RkeConfigArgs']]] = None, + rke_config: Optional[pulumi.Input[Union['ClusterV2RkeConfigArgs', 'ClusterV2RkeConfigArgsDict']]] = None, __props__=None): """ ## Import @@ -604,21 +604,21 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2AgentEnvVarArgs']]]] agent_env_vars: Agent env vars is a list of additional environment variables to be appended to the `cattle-cluster-agent` and `fleet-agent` deployment, and the plan for the [system upgrade controller](https://github.com/rancher/system-upgrade-controller) to upgrade nodes. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AgentEnvVarArgs', 'ClusterV2AgentEnvVarArgsDict']]]] agent_env_vars: Agent env vars is a list of additional environment variables to be appended to the `cattle-cluster-agent` and `fleet-agent` deployment, and the plan for the [system upgrade controller](https://github.com/rancher/system-upgrade-controller) to upgrade nodes. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for the Cluster. :param pulumi.Input[str] cloud_credential_secret_name: Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2ClusterAgentDeploymentCustomizationArgs']]]] cluster_agent_deployment_customizations: Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `cattle-cluster-agent` deployment. This argument is available in Rancher v2.7.5 and above. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2ClusterAgentDeploymentCustomizationArgs', 'ClusterV2ClusterAgentDeploymentCustomizationArgsDict']]]] cluster_agent_deployment_customizations: Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `cattle-cluster-agent` deployment. This argument is available in Rancher v2.7.5 and above. :param pulumi.Input[str] default_cluster_role_for_project_members: Default cluster role for project members. :param pulumi.Input[str] default_pod_security_admission_configuration_template_name: The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates). The argument is available in Rancher v2.7.2 and above. :param pulumi.Input[str] default_pod_security_policy_template_name: Default pod security policy template name specifies the default PSP for the cluster. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies). :param pulumi.Input[bool] enable_network_policy: Enable k8s network policy on the cluster. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2FleetAgentDeploymentCustomizationArgs']]]] fleet_agent_deployment_customizations: Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `fleet-agent` deployment. The argument is available in Rancher v2.7.5 and above. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2FleetAgentDeploymentCustomizationArgs', 'ClusterV2FleetAgentDeploymentCustomizationArgsDict']]]] fleet_agent_deployment_customizations: Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `fleet-agent` deployment. The argument is available in Rancher v2.7.5 and above. :param pulumi.Input[str] fleet_namespace: Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value. :param pulumi.Input[str] kubernetes_version: The RKE2 or K3s version for the cluster. :param pulumi.Input[Mapping[str, Any]] labels: Labels for the Cluster. - :param pulumi.Input[pulumi.InputType['ClusterV2LocalAuthEndpointArgs']] local_auth_endpoint: Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#authorized-cluster-endpoint-support-for-rke2-and-k3s-clusters). + :param pulumi.Input[Union['ClusterV2LocalAuthEndpointArgs', 'ClusterV2LocalAuthEndpointArgsDict']] local_auth_endpoint: Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#authorized-cluster-endpoint-support-for-rke2-and-k3s-clusters). :param pulumi.Input[str] name: The name of the cluster. - :param pulumi.Input[pulumi.InputType['ClusterV2RkeConfigArgs']] rke_config: The RKE configuration for the cluster. + :param pulumi.Input[Union['ClusterV2RkeConfigArgs', 'ClusterV2RkeConfigArgsDict']] rke_config: The RKE configuration for the cluster. """ ... @overload @@ -650,21 +650,21 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2AgentEnvVarArgs']]]]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AgentEnvVarArgs', 'ClusterV2AgentEnvVarArgsDict']]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cloud_credential_secret_name: Optional[pulumi.Input[str]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2ClusterAgentDeploymentCustomizationArgs']]]]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2ClusterAgentDeploymentCustomizationArgs', 'ClusterV2ClusterAgentDeploymentCustomizationArgsDict']]]]] = None, default_cluster_role_for_project_members: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_name: Optional[pulumi.Input[str]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2FleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2FleetAgentDeploymentCustomizationArgs', 'ClusterV2FleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, kubernetes_version: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - local_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterV2LocalAuthEndpointArgs']]] = None, + local_auth_endpoint: Optional[pulumi.Input[Union['ClusterV2LocalAuthEndpointArgs', 'ClusterV2LocalAuthEndpointArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterV2RkeConfigArgs']]] = None, + rke_config: Optional[pulumi.Input[Union['ClusterV2RkeConfigArgs', 'ClusterV2RkeConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -707,25 +707,25 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2AgentEnvVarArgs']]]]] = None, + agent_env_vars: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AgentEnvVarArgs', 'ClusterV2AgentEnvVarArgsDict']]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cloud_credential_secret_name: Optional[pulumi.Input[str]] = None, - cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2ClusterAgentDeploymentCustomizationArgs']]]]] = None, - cluster_registration_token: Optional[pulumi.Input[pulumi.InputType['ClusterV2ClusterRegistrationTokenArgs']]] = None, + cluster_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2ClusterAgentDeploymentCustomizationArgs', 'ClusterV2ClusterAgentDeploymentCustomizationArgsDict']]]]] = None, + cluster_registration_token: Optional[pulumi.Input[Union['ClusterV2ClusterRegistrationTokenArgs', 'ClusterV2ClusterRegistrationTokenArgsDict']]] = None, cluster_v1_id: Optional[pulumi.Input[str]] = None, default_cluster_role_for_project_members: Optional[pulumi.Input[str]] = None, default_pod_security_admission_configuration_template_name: Optional[pulumi.Input[str]] = None, default_pod_security_policy_template_name: Optional[pulumi.Input[str]] = None, enable_network_policy: Optional[pulumi.Input[bool]] = None, - fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2FleetAgentDeploymentCustomizationArgs']]]]] = None, + fleet_agent_deployment_customizations: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2FleetAgentDeploymentCustomizationArgs', 'ClusterV2FleetAgentDeploymentCustomizationArgsDict']]]]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, kube_config: Optional[pulumi.Input[str]] = None, kubernetes_version: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - local_auth_endpoint: Optional[pulumi.Input[pulumi.InputType['ClusterV2LocalAuthEndpointArgs']]] = None, + local_auth_endpoint: Optional[pulumi.Input[Union['ClusterV2LocalAuthEndpointArgs', 'ClusterV2LocalAuthEndpointArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, resource_version: Optional[pulumi.Input[str]] = None, - rke_config: Optional[pulumi.Input[pulumi.InputType['ClusterV2RkeConfigArgs']]] = None) -> 'ClusterV2': + rke_config: Optional[pulumi.Input[Union['ClusterV2RkeConfigArgs', 'ClusterV2RkeConfigArgsDict']]] = None) -> 'ClusterV2': """ Get an existing ClusterV2 resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -733,25 +733,25 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2AgentEnvVarArgs']]]] agent_env_vars: Agent env vars is a list of additional environment variables to be appended to the `cattle-cluster-agent` and `fleet-agent` deployment, and the plan for the [system upgrade controller](https://github.com/rancher/system-upgrade-controller) to upgrade nodes. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2AgentEnvVarArgs', 'ClusterV2AgentEnvVarArgsDict']]]] agent_env_vars: Agent env vars is a list of additional environment variables to be appended to the `cattle-cluster-agent` and `fleet-agent` deployment, and the plan for the [system upgrade controller](https://github.com/rancher/system-upgrade-controller) to upgrade nodes. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for the Cluster. :param pulumi.Input[str] cloud_credential_secret_name: Cloud credential secret name is the secret to be used when a cloud credential secret name is not specified at the machine pool level. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2ClusterAgentDeploymentCustomizationArgs']]]] cluster_agent_deployment_customizations: Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `cattle-cluster-agent` deployment. This argument is available in Rancher v2.7.5 and above. - :param pulumi.Input[pulumi.InputType['ClusterV2ClusterRegistrationTokenArgs']] cluster_registration_token: (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2ClusterAgentDeploymentCustomizationArgs', 'ClusterV2ClusterAgentDeploymentCustomizationArgsDict']]]] cluster_agent_deployment_customizations: Cluster agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `cattle-cluster-agent` deployment. This argument is available in Rancher v2.7.5 and above. + :param pulumi.Input[Union['ClusterV2ClusterRegistrationTokenArgs', 'ClusterV2ClusterRegistrationTokenArgsDict']] cluster_registration_token: (Computed, sensitive, list, max length: 1) Cluster Registration Token generated for the cluster. :param pulumi.Input[str] cluster_v1_id: (Computed, string) Cluster v1 id for cluster v2. (e.g. to be used with `rancher2_sync`). :param pulumi.Input[str] default_cluster_role_for_project_members: Default cluster role for project members. :param pulumi.Input[str] default_pod_security_admission_configuration_template_name: The name of the pre-defined pod security admission configuration template to be applied to the cluster. Rancher admins (or those with the right permissions) can create, manage, and edit those templates. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/psa-config-templates). The argument is available in Rancher v2.7.2 and above. :param pulumi.Input[str] default_pod_security_policy_template_name: Default pod security policy template name specifies the default PSP for the cluster. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/authentication-permissions-and-global-configuration/create-pod-security-policies). :param pulumi.Input[bool] enable_network_policy: Enable k8s network policy on the cluster. - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ClusterV2FleetAgentDeploymentCustomizationArgs']]]] fleet_agent_deployment_customizations: Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `fleet-agent` deployment. The argument is available in Rancher v2.7.5 and above. + :param pulumi.Input[Sequence[pulumi.Input[Union['ClusterV2FleetAgentDeploymentCustomizationArgs', 'ClusterV2FleetAgentDeploymentCustomizationArgsDict']]]] fleet_agent_deployment_customizations: Fleet agent deployment customization specifies the additional tolerations, new affinity rules, and new resource requirements on the `fleet-agent` deployment. The argument is available in Rancher v2.7.5 and above. :param pulumi.Input[str] fleet_namespace: Fleet namespace is the namespace where the cluster is to create in the local cluster. It is recommended to leave it as the default value. :param pulumi.Input[str] kube_config: (Computed/Sensitive) Kube Config generated for the cluster. Note: When the cluster has `local_auth_endpoint` enabled, the kube_config will not be available until the cluster is `connected`. :param pulumi.Input[str] kubernetes_version: The RKE2 or K3s version for the cluster. :param pulumi.Input[Mapping[str, Any]] labels: Labels for the Cluster. - :param pulumi.Input[pulumi.InputType['ClusterV2LocalAuthEndpointArgs']] local_auth_endpoint: Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#authorized-cluster-endpoint-support-for-rke2-and-k3s-clusters). + :param pulumi.Input[Union['ClusterV2LocalAuthEndpointArgs', 'ClusterV2LocalAuthEndpointArgsDict']] local_auth_endpoint: Local auth endpoint configures the Authorized Cluster Endpoint (ACE) which can be used to directly access the Kubernetes API server, without requiring communication through Rancher. For more information, please refer to [Rancher Documentation](https://ranchermanager.docs.rancher.com/how-to-guides/new-user-guides/kubernetes-clusters-in-rancher-setup/register-existing-clusters#authorized-cluster-endpoint-support-for-rke2-and-k3s-clusters). :param pulumi.Input[str] name: The name of the cluster. :param pulumi.Input[str] resource_version: (Computed, string) Cluster's k8s resource version. - :param pulumi.Input[pulumi.InputType['ClusterV2RkeConfigArgs']] rke_config: The RKE configuration for the cluster. + :param pulumi.Input[Union['ClusterV2RkeConfigArgs', 'ClusterV2RkeConfigArgsDict']] rke_config: The RKE configuration for the cluster. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/etcd_backup.py b/sdk/python/pulumi_rancher2/etcd_backup.py index 76bd0604d..6fb5711bb 100644 --- a/sdk/python/pulumi_rancher2/etcd_backup.py +++ b/sdk/python/pulumi_rancher2/etcd_backup.py @@ -290,7 +290,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - backup_config: Optional[pulumi.Input[pulumi.InputType['EtcdBackupBackupConfigArgs']]] = None, + backup_config: Optional[pulumi.Input[Union['EtcdBackupBackupConfigArgs', 'EtcdBackupBackupConfigArgsDict']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, filename: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -311,19 +311,19 @@ def __init__(__self__, # Create a new rancher2 Etcd Backup foo = rancher2.EtcdBackup("foo", - backup_config=rancher2.EtcdBackupBackupConfigArgs( - enabled=True, - interval_hours=20, - retention=10, - s3_backup_config=rancher2.EtcdBackupBackupConfigS3BackupConfigArgs( - access_key="access_key", - bucket_name="bucket_name", - endpoint="endpoint", - folder="/folder", - region="region", - secret_key="secret_key", - ), - ), + backup_config={ + "enabled": True, + "interval_hours": 20, + "retention": 10, + "s3_backup_config": { + "access_key": "access_key", + "bucket_name": "bucket_name", + "endpoint": "endpoint", + "folder": "/folder", + "region": "region", + "secret_key": "secret_key", + }, + }, cluster_id="", name="foo", filename="") @@ -340,7 +340,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Etcd Backup object (map) - :param pulumi.Input[pulumi.InputType['EtcdBackupBackupConfigArgs']] backup_config: Backup config for etcd backup (list maxitems:1) + :param pulumi.Input[Union['EtcdBackupBackupConfigArgs', 'EtcdBackupBackupConfigArgsDict']] backup_config: Backup config for etcd backup (list maxitems:1) :param pulumi.Input[str] cluster_id: Cluster ID to config Etcd Backup (string) :param pulumi.Input[str] filename: Filename of the Etcd Backup (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Etcd Backup object (map) @@ -367,19 +367,19 @@ def __init__(__self__, # Create a new rancher2 Etcd Backup foo = rancher2.EtcdBackup("foo", - backup_config=rancher2.EtcdBackupBackupConfigArgs( - enabled=True, - interval_hours=20, - retention=10, - s3_backup_config=rancher2.EtcdBackupBackupConfigS3BackupConfigArgs( - access_key="access_key", - bucket_name="bucket_name", - endpoint="endpoint", - folder="/folder", - region="region", - secret_key="secret_key", - ), - ), + backup_config={ + "enabled": True, + "interval_hours": 20, + "retention": 10, + "s3_backup_config": { + "access_key": "access_key", + "bucket_name": "bucket_name", + "endpoint": "endpoint", + "folder": "/folder", + "region": "region", + "secret_key": "secret_key", + }, + }, cluster_id="", name="foo", filename="") @@ -409,7 +409,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - backup_config: Optional[pulumi.Input[pulumi.InputType['EtcdBackupBackupConfigArgs']]] = None, + backup_config: Optional[pulumi.Input[Union['EtcdBackupBackupConfigArgs', 'EtcdBackupBackupConfigArgsDict']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, filename: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -446,7 +446,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - backup_config: Optional[pulumi.Input[pulumi.InputType['EtcdBackupBackupConfigArgs']]] = None, + backup_config: Optional[pulumi.Input[Union['EtcdBackupBackupConfigArgs', 'EtcdBackupBackupConfigArgsDict']]] = None, cluster_id: Optional[pulumi.Input[str]] = None, filename: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -461,7 +461,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Etcd Backup object (map) - :param pulumi.Input[pulumi.InputType['EtcdBackupBackupConfigArgs']] backup_config: Backup config for etcd backup (list maxitems:1) + :param pulumi.Input[Union['EtcdBackupBackupConfigArgs', 'EtcdBackupBackupConfigArgsDict']] backup_config: Backup config for etcd backup (list maxitems:1) :param pulumi.Input[str] cluster_id: Cluster ID to config Etcd Backup (string) :param pulumi.Input[str] filename: Filename of the Etcd Backup (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Etcd Backup object (map) diff --git a/sdk/python/pulumi_rancher2/get_notifier.py b/sdk/python/pulumi_rancher2/get_notifier.py index a22214e73..bcec8b722 100644 --- a/sdk/python/pulumi_rancher2/get_notifier.py +++ b/sdk/python/pulumi_rancher2/get_notifier.py @@ -185,8 +185,8 @@ def __await__(self): def get_notifier(cluster_id: Optional[str] = None, - dingtalk_config: Optional[pulumi.InputType['GetNotifierDingtalkConfigArgs']] = None, - msteams_config: Optional[pulumi.InputType['GetNotifierMsteamsConfigArgs']] = None, + dingtalk_config: Optional[Union['GetNotifierDingtalkConfigArgs', 'GetNotifierDingtalkConfigArgsDict']] = None, + msteams_config: Optional[Union['GetNotifierMsteamsConfigArgs', 'GetNotifierMsteamsConfigArgsDict']] = None, name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNotifierResult: """ @@ -204,8 +204,8 @@ def get_notifier(cluster_id: Optional[str] = None, :param str cluster_id: The cluster id where create notifier (string) - :param pulumi.InputType['GetNotifierDingtalkConfigArgs'] dingtalk_config: (Computed) Dingtalk config for notifier (list maxitems:1) - :param pulumi.InputType['GetNotifierMsteamsConfigArgs'] msteams_config: (Computed) MSTeams config for notifier (list maxitems:1) + :param Union['GetNotifierDingtalkConfigArgs', 'GetNotifierDingtalkConfigArgsDict'] dingtalk_config: (Computed) Dingtalk config for notifier (list maxitems:1) + :param Union['GetNotifierMsteamsConfigArgs', 'GetNotifierMsteamsConfigArgsDict'] msteams_config: (Computed) MSTeams config for notifier (list maxitems:1) :param str name: The name of the notifier (string) """ __args__ = dict() @@ -234,8 +234,8 @@ def get_notifier(cluster_id: Optional[str] = None, @_utilities.lift_output_func(get_notifier) def get_notifier_output(cluster_id: Optional[pulumi.Input[str]] = None, - dingtalk_config: Optional[pulumi.Input[Optional[pulumi.InputType['GetNotifierDingtalkConfigArgs']]]] = None, - msteams_config: Optional[pulumi.Input[Optional[pulumi.InputType['GetNotifierMsteamsConfigArgs']]]] = None, + dingtalk_config: Optional[pulumi.Input[Optional[Union['GetNotifierDingtalkConfigArgs', 'GetNotifierDingtalkConfigArgsDict']]]] = None, + msteams_config: Optional[pulumi.Input[Optional[Union['GetNotifierMsteamsConfigArgs', 'GetNotifierMsteamsConfigArgsDict']]]] = None, name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetNotifierResult]: """ @@ -253,8 +253,8 @@ def get_notifier_output(cluster_id: Optional[pulumi.Input[str]] = None, :param str cluster_id: The cluster id where create notifier (string) - :param pulumi.InputType['GetNotifierDingtalkConfigArgs'] dingtalk_config: (Computed) Dingtalk config for notifier (list maxitems:1) - :param pulumi.InputType['GetNotifierMsteamsConfigArgs'] msteams_config: (Computed) MSTeams config for notifier (list maxitems:1) + :param Union['GetNotifierDingtalkConfigArgs', 'GetNotifierDingtalkConfigArgsDict'] dingtalk_config: (Computed) Dingtalk config for notifier (list maxitems:1) + :param Union['GetNotifierMsteamsConfigArgs', 'GetNotifierMsteamsConfigArgsDict'] msteams_config: (Computed) MSTeams config for notifier (list maxitems:1) :param str name: The name of the notifier (string) """ ... diff --git a/sdk/python/pulumi_rancher2/get_pod_security_policy_template.py b/sdk/python/pulumi_rancher2/get_pod_security_policy_template.py index dc452e860..7faac3f66 100644 --- a/sdk/python/pulumi_rancher2/get_pod_security_policy_template.py +++ b/sdk/python/pulumi_rancher2/get_pod_security_policy_template.py @@ -300,9 +300,9 @@ def __await__(self): def get_pod_security_policy_template(allow_privilege_escalation: Optional[bool] = None, allowed_capabilities: Optional[Sequence[str]] = None, - allowed_csi_drivers: Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs']]] = None, - allowed_flex_volumes: Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs']]] = None, - allowed_host_paths: Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedHostPathArgs']]] = None, + allowed_csi_drivers: Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs', 'GetPodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]] = None, + allowed_flex_volumes: Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'GetPodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]] = None, + allowed_host_paths: Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedHostPathArgs', 'GetPodSecurityPolicyTemplateAllowedHostPathArgsDict']]] = None, allowed_proc_mount_types: Optional[Sequence[str]] = None, allowed_unsafe_sysctls: Optional[Sequence[str]] = None, annotations: Optional[Mapping[str, Any]] = None, @@ -310,21 +310,21 @@ def get_pod_security_policy_template(allow_privilege_escalation: Optional[bool] default_allow_privilege_escalation: Optional[bool] = None, description: Optional[str] = None, forbidden_sysctls: Optional[Sequence[str]] = None, - fs_group: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateFsGroupArgs']] = None, + fs_group: Optional[Union['GetPodSecurityPolicyTemplateFsGroupArgs', 'GetPodSecurityPolicyTemplateFsGroupArgsDict']] = None, host_ipc: Optional[bool] = None, host_network: Optional[bool] = None, host_pid: Optional[bool] = None, - host_ports: Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateHostPortArgs']]] = None, + host_ports: Optional[Sequence[Union['GetPodSecurityPolicyTemplateHostPortArgs', 'GetPodSecurityPolicyTemplateHostPortArgsDict']]] = None, labels: Optional[Mapping[str, Any]] = None, name: Optional[str] = None, privileged: Optional[bool] = None, read_only_root_filesystem: Optional[bool] = None, required_drop_capabilities: Optional[Sequence[str]] = None, - run_as_group: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRunAsGroupArgs']] = None, - run_as_user: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRunAsUserArgs']] = None, - runtime_class: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRuntimeClassArgs']] = None, - se_linux: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateSeLinuxArgs']] = None, - supplemental_group: Optional[pulumi.InputType['GetPodSecurityPolicyTemplateSupplementalGroupArgs']] = None, + run_as_group: Optional[Union['GetPodSecurityPolicyTemplateRunAsGroupArgs', 'GetPodSecurityPolicyTemplateRunAsGroupArgsDict']] = None, + run_as_user: Optional[Union['GetPodSecurityPolicyTemplateRunAsUserArgs', 'GetPodSecurityPolicyTemplateRunAsUserArgsDict']] = None, + runtime_class: Optional[Union['GetPodSecurityPolicyTemplateRuntimeClassArgs', 'GetPodSecurityPolicyTemplateRuntimeClassArgsDict']] = None, + se_linux: Optional[Union['GetPodSecurityPolicyTemplateSeLinuxArgs', 'GetPodSecurityPolicyTemplateSeLinuxArgsDict']] = None, + supplemental_group: Optional[Union['GetPodSecurityPolicyTemplateSupplementalGroupArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupArgsDict']] = None, volumes: Optional[Sequence[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPodSecurityPolicyTemplateResult: """ @@ -335,9 +335,9 @@ def get_pod_security_policy_template(allow_privilege_escalation: Optional[bool] :param bool allow_privilege_escalation: = (Optional) :param Sequence[str] allowed_capabilities: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs']] allowed_csi_drivers: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs']] allowed_flex_volumes: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedHostPathArgs']] allowed_host_paths: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs', 'GetPodSecurityPolicyTemplateAllowedCsiDriverArgsDict']] allowed_csi_drivers: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'GetPodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']] allowed_flex_volumes: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedHostPathArgs', 'GetPodSecurityPolicyTemplateAllowedHostPathArgsDict']] allowed_host_paths: (list) :param Sequence[str] allowed_proc_mount_types: (list) :param Sequence[str] allowed_unsafe_sysctls: (list) :param Mapping[str, Any] annotations: Annotations for PodSecurityPolicyTemplate object (map) @@ -345,20 +345,20 @@ def get_pod_security_policy_template(allow_privilege_escalation: Optional[bool] :param bool default_allow_privilege_escalation: (list) :param str description: The PodSecurityPolicyTemplate description (string) :param Sequence[str] forbidden_sysctls: (list) - :param pulumi.InputType['GetPodSecurityPolicyTemplateFsGroupArgs'] fs_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateFsGroupArgs', 'GetPodSecurityPolicyTemplateFsGroupArgsDict'] fs_group: (list maxitems:1) :param bool host_ipc: (bool) :param bool host_pid: (bool) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateHostPortArgs']] host_ports: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateHostPortArgs', 'GetPodSecurityPolicyTemplateHostPortArgsDict']] host_ports: (list) :param Mapping[str, Any] labels: Labels for PodSecurityPolicyTemplate object (map) :param str name: The name of the PodSecurityPolicyTemplate (string) :param bool privileged: (bool) :param bool read_only_root_filesystem: (bool) :param Sequence[str] required_drop_capabilities: (list) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRunAsGroupArgs'] run_as_group: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRunAsUserArgs'] run_as_user: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRuntimeClassArgs'] runtime_class: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateSeLinuxArgs'] se_linux: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateSupplementalGroupArgs'] supplemental_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRunAsGroupArgs', 'GetPodSecurityPolicyTemplateRunAsGroupArgsDict'] run_as_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRunAsUserArgs', 'GetPodSecurityPolicyTemplateRunAsUserArgsDict'] run_as_user: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRuntimeClassArgs', 'GetPodSecurityPolicyTemplateRuntimeClassArgsDict'] runtime_class: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateSeLinuxArgs', 'GetPodSecurityPolicyTemplateSeLinuxArgsDict'] se_linux: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateSupplementalGroupArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupArgsDict'] supplemental_group: (list maxitems:1) :param Sequence[str] volumes: (list) """ __args__ = dict() @@ -428,9 +428,9 @@ def get_pod_security_policy_template(allow_privilege_escalation: Optional[bool] @_utilities.lift_output_func(get_pod_security_policy_template) def get_pod_security_policy_template_output(allow_privilege_escalation: Optional[pulumi.Input[Optional[bool]]] = None, allowed_capabilities: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - allowed_csi_drivers: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs']]]]] = None, - allowed_flex_volumes: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]]] = None, - allowed_host_paths: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedHostPathArgs']]]]] = None, + allowed_csi_drivers: Optional[pulumi.Input[Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs', 'GetPodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]]] = None, + allowed_flex_volumes: Optional[pulumi.Input[Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'GetPodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]]] = None, + allowed_host_paths: Optional[pulumi.Input[Optional[Sequence[Union['GetPodSecurityPolicyTemplateAllowedHostPathArgs', 'GetPodSecurityPolicyTemplateAllowedHostPathArgsDict']]]]] = None, allowed_proc_mount_types: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, allowed_unsafe_sysctls: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, annotations: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None, @@ -438,21 +438,21 @@ def get_pod_security_policy_template_output(allow_privilege_escalation: Optional default_allow_privilege_escalation: Optional[pulumi.Input[Optional[bool]]] = None, description: Optional[pulumi.Input[Optional[str]]] = None, forbidden_sysctls: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - fs_group: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateFsGroupArgs']]]] = None, + fs_group: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateFsGroupArgs', 'GetPodSecurityPolicyTemplateFsGroupArgsDict']]]] = None, host_ipc: Optional[pulumi.Input[Optional[bool]]] = None, host_network: Optional[pulumi.Input[Optional[bool]]] = None, host_pid: Optional[pulumi.Input[Optional[bool]]] = None, - host_ports: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateHostPortArgs']]]]] = None, + host_ports: Optional[pulumi.Input[Optional[Sequence[Union['GetPodSecurityPolicyTemplateHostPortArgs', 'GetPodSecurityPolicyTemplateHostPortArgsDict']]]]] = None, labels: Optional[pulumi.Input[Optional[Mapping[str, Any]]]] = None, name: Optional[pulumi.Input[str]] = None, privileged: Optional[pulumi.Input[Optional[bool]]] = None, read_only_root_filesystem: Optional[pulumi.Input[Optional[bool]]] = None, required_drop_capabilities: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, - run_as_group: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRunAsGroupArgs']]]] = None, - run_as_user: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRunAsUserArgs']]]] = None, - runtime_class: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateRuntimeClassArgs']]]] = None, - se_linux: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateSeLinuxArgs']]]] = None, - supplemental_group: Optional[pulumi.Input[Optional[pulumi.InputType['GetPodSecurityPolicyTemplateSupplementalGroupArgs']]]] = None, + run_as_group: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateRunAsGroupArgs', 'GetPodSecurityPolicyTemplateRunAsGroupArgsDict']]]] = None, + run_as_user: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateRunAsUserArgs', 'GetPodSecurityPolicyTemplateRunAsUserArgsDict']]]] = None, + runtime_class: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateRuntimeClassArgs', 'GetPodSecurityPolicyTemplateRuntimeClassArgsDict']]]] = None, + se_linux: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateSeLinuxArgs', 'GetPodSecurityPolicyTemplateSeLinuxArgsDict']]]] = None, + supplemental_group: Optional[pulumi.Input[Optional[Union['GetPodSecurityPolicyTemplateSupplementalGroupArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupArgsDict']]]] = None, volumes: Optional[pulumi.Input[Optional[Sequence[str]]]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetPodSecurityPolicyTemplateResult]: """ @@ -463,9 +463,9 @@ def get_pod_security_policy_template_output(allow_privilege_escalation: Optional :param bool allow_privilege_escalation: = (Optional) :param Sequence[str] allowed_capabilities: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs']] allowed_csi_drivers: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs']] allowed_flex_volumes: (list) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateAllowedHostPathArgs']] allowed_host_paths: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedCsiDriverArgs', 'GetPodSecurityPolicyTemplateAllowedCsiDriverArgsDict']] allowed_csi_drivers: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'GetPodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']] allowed_flex_volumes: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateAllowedHostPathArgs', 'GetPodSecurityPolicyTemplateAllowedHostPathArgsDict']] allowed_host_paths: (list) :param Sequence[str] allowed_proc_mount_types: (list) :param Sequence[str] allowed_unsafe_sysctls: (list) :param Mapping[str, Any] annotations: Annotations for PodSecurityPolicyTemplate object (map) @@ -473,20 +473,20 @@ def get_pod_security_policy_template_output(allow_privilege_escalation: Optional :param bool default_allow_privilege_escalation: (list) :param str description: The PodSecurityPolicyTemplate description (string) :param Sequence[str] forbidden_sysctls: (list) - :param pulumi.InputType['GetPodSecurityPolicyTemplateFsGroupArgs'] fs_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateFsGroupArgs', 'GetPodSecurityPolicyTemplateFsGroupArgsDict'] fs_group: (list maxitems:1) :param bool host_ipc: (bool) :param bool host_pid: (bool) - :param Sequence[pulumi.InputType['GetPodSecurityPolicyTemplateHostPortArgs']] host_ports: (list) + :param Sequence[Union['GetPodSecurityPolicyTemplateHostPortArgs', 'GetPodSecurityPolicyTemplateHostPortArgsDict']] host_ports: (list) :param Mapping[str, Any] labels: Labels for PodSecurityPolicyTemplate object (map) :param str name: The name of the PodSecurityPolicyTemplate (string) :param bool privileged: (bool) :param bool read_only_root_filesystem: (bool) :param Sequence[str] required_drop_capabilities: (list) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRunAsGroupArgs'] run_as_group: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRunAsUserArgs'] run_as_user: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateRuntimeClassArgs'] runtime_class: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateSeLinuxArgs'] se_linux: (list maxitems:1) - :param pulumi.InputType['GetPodSecurityPolicyTemplateSupplementalGroupArgs'] supplemental_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRunAsGroupArgs', 'GetPodSecurityPolicyTemplateRunAsGroupArgsDict'] run_as_group: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRunAsUserArgs', 'GetPodSecurityPolicyTemplateRunAsUserArgsDict'] run_as_user: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateRuntimeClassArgs', 'GetPodSecurityPolicyTemplateRuntimeClassArgsDict'] runtime_class: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateSeLinuxArgs', 'GetPodSecurityPolicyTemplateSeLinuxArgsDict'] se_linux: (list maxitems:1) + :param Union['GetPodSecurityPolicyTemplateSupplementalGroupArgs', 'GetPodSecurityPolicyTemplateSupplementalGroupArgsDict'] supplemental_group: (list maxitems:1) :param Sequence[str] volumes: (list) """ ... diff --git a/sdk/python/pulumi_rancher2/get_role_template.py b/sdk/python/pulumi_rancher2/get_role_template.py index bfa33758f..f73959b2b 100644 --- a/sdk/python/pulumi_rancher2/get_role_template.py +++ b/sdk/python/pulumi_rancher2/get_role_template.py @@ -209,7 +209,7 @@ def __await__(self): def get_role_template(context: Optional[str] = None, - external_rules: Optional[Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']]] = None, + external_rules: Optional[Sequence[Union['GetRoleTemplateExternalRuleArgs', 'GetRoleTemplateExternalRuleArgsDict']]] = None, name: Optional[str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetRoleTemplateResult: """ @@ -226,7 +226,7 @@ def get_role_template(context: Optional[str] = None, :param str context: Role template context. `cluster` and `project` values are supported (string) - :param Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']] external_rules: (Computed) External rules used for authorization. (list) + :param Sequence[Union['GetRoleTemplateExternalRuleArgs', 'GetRoleTemplateExternalRuleArgsDict']] external_rules: (Computed) External rules used for authorization. (list) :param str name: The name of the Role Template (string) """ __args__ = dict() @@ -256,7 +256,7 @@ def get_role_template(context: Optional[str] = None, @_utilities.lift_output_func(get_role_template) def get_role_template_output(context: Optional[pulumi.Input[Optional[str]]] = None, - external_rules: Optional[pulumi.Input[Optional[Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']]]]] = None, + external_rules: Optional[pulumi.Input[Optional[Sequence[Union['GetRoleTemplateExternalRuleArgs', 'GetRoleTemplateExternalRuleArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetRoleTemplateResult]: """ @@ -273,7 +273,7 @@ def get_role_template_output(context: Optional[pulumi.Input[Optional[str]]] = No :param str context: Role template context. `cluster` and `project` values are supported (string) - :param Sequence[pulumi.InputType['GetRoleTemplateExternalRuleArgs']] external_rules: (Computed) External rules used for authorization. (list) + :param Sequence[Union['GetRoleTemplateExternalRuleArgs', 'GetRoleTemplateExternalRuleArgsDict']] external_rules: (Computed) External rules used for authorization. (list) :param str name: The name of the Role Template (string) """ ... diff --git a/sdk/python/pulumi_rancher2/global_dns.py b/sdk/python/pulumi_rancher2/global_dns.py index 4a107e779..3fdc48300 100644 --- a/sdk/python/pulumi_rancher2/global_dns.py +++ b/sdk/python/pulumi_rancher2/global_dns.py @@ -308,12 +308,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) # Create a new rancher2 Global DNS using project IDs foo_global_dns = rancher2.GlobalDns("foo", name="foo", @@ -333,12 +333,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) # Create a new rancher2 Global DNS using MultiClusterApp ID foo_global_dns = rancher2.GlobalDns("foo", name="foo", @@ -385,12 +385,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) # Create a new rancher2 Global DNS using project IDs foo_global_dns = rancher2.GlobalDns("foo", name="foo", @@ -410,12 +410,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) # Create a new rancher2 Global DNS using MultiClusterApp ID foo_global_dns = rancher2.GlobalDns("foo", name="foo", diff --git a/sdk/python/pulumi_rancher2/global_dns_provider.py b/sdk/python/pulumi_rancher2/global_dns_provider.py index bad96f2d7..8f664b4bd 100644 --- a/sdk/python/pulumi_rancher2/global_dns_provider.py +++ b/sdk/python/pulumi_rancher2/global_dns_provider.py @@ -249,13 +249,13 @@ class GlobalDnsProvider(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderAlidnsConfigArgs']]] = None, + alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - cloudflare_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderCloudflareConfigArgs']]] = None, + cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderRoute53ConfigArgs']]] = None, + route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None, __props__=None): """ Provides a Rancher V2 Global DNS Provider resource. This can be used to create Global DNS Providers for Rancher V2. Supported Global DNS Providers: `alidns, cloudflare, route53` @@ -270,10 +270,10 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - alidns_config=rancher2.GlobalDnsProviderAlidnsConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - )) + alidns_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + }) ``` ```python @@ -284,11 +284,11 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - cloudflare_config=rancher2.GlobalDnsProviderCloudflareConfigArgs( - api_email="test@test.local", - api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - proxy_setting=True, - )) + cloudflare_config={ + "api_email": "test@test.local", + "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "proxy_setting": True, + }) ``` ```python @@ -299,12 +299,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) ``` ## Import @@ -341,10 +341,10 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - alidns_config=rancher2.GlobalDnsProviderAlidnsConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - )) + alidns_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + }) ``` ```python @@ -355,11 +355,11 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - cloudflare_config=rancher2.GlobalDnsProviderCloudflareConfigArgs( - api_email="test@test.local", - api_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - proxy_setting=True, - )) + cloudflare_config={ + "api_email": "test@test.local", + "api_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "proxy_setting": True, + }) ``` ```python @@ -370,12 +370,12 @@ def __init__(__self__, foo = rancher2.GlobalDnsProvider("foo", name="foo", root_domain="example.com", - route53_config=rancher2.GlobalDnsProviderRoute53ConfigArgs( - access_key="YYYYYYYYYYYYYYYYYYYY", - secret_key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", - zone_type="private", - region="us-east-1", - )) + route53_config={ + "access_key": "YYYYYYYYYYYYYYYYYYYY", + "secret_key": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", + "zone_type": "private", + "region": "us-east-1", + }) ``` ## Import @@ -401,13 +401,13 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderAlidnsConfigArgs']]] = None, + alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - cloudflare_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderCloudflareConfigArgs']]] = None, + cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderRoute53ConfigArgs']]] = None, + route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -437,14 +437,14 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - alidns_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderAlidnsConfigArgs']]] = None, + alidns_config: Optional[pulumi.Input[Union['GlobalDnsProviderAlidnsConfigArgs', 'GlobalDnsProviderAlidnsConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - cloudflare_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderCloudflareConfigArgs']]] = None, + cloudflare_config: Optional[pulumi.Input[Union['GlobalDnsProviderCloudflareConfigArgs', 'GlobalDnsProviderCloudflareConfigArgsDict']]] = None, dns_provider: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, root_domain: Optional[pulumi.Input[str]] = None, - route53_config: Optional[pulumi.Input[pulumi.InputType['GlobalDnsProviderRoute53ConfigArgs']]] = None) -> 'GlobalDnsProvider': + route53_config: Optional[pulumi.Input[Union['GlobalDnsProviderRoute53ConfigArgs', 'GlobalDnsProviderRoute53ConfigArgsDict']]] = None) -> 'GlobalDnsProvider': """ Get an existing GlobalDnsProvider resource's state with the given name, id, and optional extra properties used to qualify the lookup. diff --git a/sdk/python/pulumi_rancher2/global_role.py b/sdk/python/pulumi_rancher2/global_role.py index b17437c16..4d4bc240b 100644 --- a/sdk/python/pulumi_rancher2/global_role.py +++ b/sdk/python/pulumi_rancher2/global_role.py @@ -280,7 +280,7 @@ def __init__(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, new_user_default: Optional[pulumi.Input[bool]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GlobalRoleRuleArgs']]]]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict']]]]] = None, __props__=None): """ Provides a Rancher v2 Global Role resource. This can be used to create Global Role for Rancher v2 and retrieve their information. @@ -296,11 +296,11 @@ def __init__(__self__, name="foo", new_user_default=True, description="Terraform global role acceptance test", - rules=[rancher2.GlobalRoleRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ## Import @@ -319,7 +319,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GlobalRoleRuleArgs']]]] rules: Global role policy rules (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict']]]] rules: Global role policy rules (list) """ ... @overload @@ -341,11 +341,11 @@ def __init__(__self__, name="foo", new_user_default=True, description="Terraform global role acceptance test", - rules=[rancher2.GlobalRoleRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ## Import @@ -377,7 +377,7 @@ def _internal_init(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, new_user_default: Optional[pulumi.Input[bool]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GlobalRoleRuleArgs']]]]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -412,7 +412,7 @@ def get(resource_name: str, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, new_user_default: Optional[pulumi.Input[bool]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GlobalRoleRuleArgs']]]]] = None) -> 'GlobalRole': + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict']]]]] = None) -> 'GlobalRole': """ Get an existing GlobalRole resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -427,7 +427,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] labels: Labels for global role object (map) :param pulumi.Input[str] name: Global role name (string) :param pulumi.Input[bool] new_user_default: Whether or not this role should be added to new users. Default `false` (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['GlobalRoleRuleArgs']]]] rules: Global role policy rules (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['GlobalRoleRuleArgs', 'GlobalRoleRuleArgsDict']]]] rules: Global role policy rules (list) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/machine_config_v2.py b/sdk/python/pulumi_rancher2/machine_config_v2.py index b833bdbd9..78b67641e 100644 --- a/sdk/python/pulumi_rancher2/machine_config_v2.py +++ b/sdk/python/pulumi_rancher2/machine_config_v2.py @@ -441,17 +441,17 @@ class MachineConfigV2(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2Amazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['MachineConfigV2Amazonec2ConfigArgs', 'MachineConfigV2Amazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2AzureConfigArgs']]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2DigitaloceanConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['MachineConfigV2AzureConfigArgs', 'MachineConfigV2AzureConfigArgsDict']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['MachineConfigV2DigitaloceanConfigArgs', 'MachineConfigV2DigitaloceanConfigArgsDict']]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, generate_name: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2HarvesterConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['MachineConfigV2HarvesterConfigArgs', 'MachineConfigV2HarvesterConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2LinodeConfigArgs']]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2OpenstackConfigArgs']]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2VsphereConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['MachineConfigV2LinodeConfigArgs', 'MachineConfigV2LinodeConfigArgsDict']]] = None, + openstack_config: Optional[pulumi.Input[Union['MachineConfigV2OpenstackConfigArgs', 'MachineConfigV2OpenstackConfigArgsDict']]] = None, + vsphere_config: Optional[pulumi.Input[Union['MachineConfigV2VsphereConfigArgs', 'MachineConfigV2VsphereConfigArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Machine config v2 resource. This can be used to create Machine Config v2 for Rancher v2 and retrieve their information. This resource is available from Rancher v2.6.0 and above. @@ -469,19 +469,19 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) # Create a new rancher2 machine config v2 using harvester node_driver foo_harvester_v2 = rancher2.MachineConfigV2("foo-harvester-v2", generate_name="foo-harvester-v2", - harvester_config=rancher2.MachineConfigV2HarvesterConfigArgs( - vm_namespace="default", - cpu_count="2", - memory_size="4", - disk_info=\"\"\" { + harvester_config={ + "vm_namespace": "default", + "cpu_count": "2", + "memory_size": "4", + "disk_info": \"\"\" { "disks": [{ "imageName": "harvester-public/image-57hzg", "size": 40, @@ -489,14 +489,14 @@ def __init__(__self__, }] } \"\"\", - network_info=\"\"\" { + "network_info": \"\"\" { "interfaces": [{ "networkName": "harvester-public/vlan1" }] } \"\"\", - ssh_user="ubuntu", - user_data=\"\"\" package_update: true + "ssh_user": "ubuntu", + "user_data": \"\"\" package_update: true packages: - qemu-guest-agent - iptables @@ -506,24 +506,24 @@ def __init__(__self__, - '--now' - qemu-guest-agent.service \"\"\", - )) + }) ``` :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['MachineConfigV2Amazonec2ConfigArgs']] amazonec2_config: AWS config for the Machine Config V2. Conflicts with `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2Amazonec2ConfigArgs', 'MachineConfigV2Amazonec2ConfigArgsDict']] amazonec2_config: AWS config for the Machine Config V2. Conflicts with `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Machine Config V2 object (map) - :param pulumi.Input[pulumi.InputType['MachineConfigV2AzureConfigArgs']] azure_config: Azure config for the Machine Config V2. Conflicts with `amazonec2_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['MachineConfigV2DigitaloceanConfigArgs']] digitalocean_config: Digitalocean config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2AzureConfigArgs', 'MachineConfigV2AzureConfigArgsDict']] azure_config: Azure config for the Machine Config V2. Conflicts with `amazonec2_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2DigitaloceanConfigArgs', 'MachineConfigV2DigitaloceanConfigArgsDict']] digitalocean_config: Digitalocean config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[str] fleet_namespace: Cluster V2 fleet namespace :param pulumi.Input[str] generate_name: Cluster V2 generate name. The pattern to generate machine config name. e.g generate_name=\\"prod-pool1\\" will generate \\"nc-prod-pool1-?????\\" name computed at `name` attribute (string) - :param pulumi.Input[pulumi.InputType['MachineConfigV2HarvesterConfigArgs']] harvester_config: Harvester config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2HarvesterConfigArgs', 'MachineConfigV2HarvesterConfigArgsDict']] harvester_config: Harvester config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Machine Config V2 object (map) **Note:** `labels` and `node_taints` will be applied to nodes deployed using the Machine Config V2 - :param pulumi.Input[pulumi.InputType['MachineConfigV2LinodeConfigArgs']] linode_config: Linode config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `openstack_config` and `vsphere_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['MachineConfigV2OpenstackConfigArgs']] openstack_config: Openstack config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `vsphere_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['MachineConfigV2VsphereConfigArgs']] vsphere_config: vSphere config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `openstack_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2LinodeConfigArgs', 'MachineConfigV2LinodeConfigArgsDict']] linode_config: Linode config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2OpenstackConfigArgs', 'MachineConfigV2OpenstackConfigArgsDict']] openstack_config: Openstack config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2VsphereConfigArgs', 'MachineConfigV2VsphereConfigArgsDict']] vsphere_config: vSphere config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `openstack_config` (list maxitems:1) """ ... @overload @@ -547,19 +547,19 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) # Create a new rancher2 machine config v2 using harvester node_driver foo_harvester_v2 = rancher2.MachineConfigV2("foo-harvester-v2", generate_name="foo-harvester-v2", - harvester_config=rancher2.MachineConfigV2HarvesterConfigArgs( - vm_namespace="default", - cpu_count="2", - memory_size="4", - disk_info=\"\"\" { + harvester_config={ + "vm_namespace": "default", + "cpu_count": "2", + "memory_size": "4", + "disk_info": \"\"\" { "disks": [{ "imageName": "harvester-public/image-57hzg", "size": 40, @@ -567,14 +567,14 @@ def __init__(__self__, }] } \"\"\", - network_info=\"\"\" { + "network_info": \"\"\" { "interfaces": [{ "networkName": "harvester-public/vlan1" }] } \"\"\", - ssh_user="ubuntu", - user_data=\"\"\" package_update: true + "ssh_user": "ubuntu", + "user_data": \"\"\" package_update: true packages: - qemu-guest-agent - iptables @@ -584,7 +584,7 @@ def __init__(__self__, - '--now' - qemu-guest-agent.service \"\"\", - )) + }) ``` :param str resource_name: The name of the resource. @@ -602,17 +602,17 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2Amazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['MachineConfigV2Amazonec2ConfigArgs', 'MachineConfigV2Amazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2AzureConfigArgs']]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2DigitaloceanConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['MachineConfigV2AzureConfigArgs', 'MachineConfigV2AzureConfigArgsDict']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['MachineConfigV2DigitaloceanConfigArgs', 'MachineConfigV2DigitaloceanConfigArgsDict']]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, generate_name: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2HarvesterConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['MachineConfigV2HarvesterConfigArgs', 'MachineConfigV2HarvesterConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2LinodeConfigArgs']]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2OpenstackConfigArgs']]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2VsphereConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['MachineConfigV2LinodeConfigArgs', 'MachineConfigV2LinodeConfigArgsDict']]] = None, + openstack_config: Optional[pulumi.Input[Union['MachineConfigV2OpenstackConfigArgs', 'MachineConfigV2OpenstackConfigArgsDict']]] = None, + vsphere_config: Optional[pulumi.Input[Union['MachineConfigV2VsphereConfigArgs', 'MachineConfigV2VsphereConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -648,20 +648,20 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2Amazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['MachineConfigV2Amazonec2ConfigArgs', 'MachineConfigV2Amazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2AzureConfigArgs']]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2DigitaloceanConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['MachineConfigV2AzureConfigArgs', 'MachineConfigV2AzureConfigArgsDict']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['MachineConfigV2DigitaloceanConfigArgs', 'MachineConfigV2DigitaloceanConfigArgsDict']]] = None, fleet_namespace: Optional[pulumi.Input[str]] = None, generate_name: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2HarvesterConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['MachineConfigV2HarvesterConfigArgs', 'MachineConfigV2HarvesterConfigArgsDict']]] = None, kind: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2LinodeConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['MachineConfigV2LinodeConfigArgs', 'MachineConfigV2LinodeConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2OpenstackConfigArgs']]] = None, + openstack_config: Optional[pulumi.Input[Union['MachineConfigV2OpenstackConfigArgs', 'MachineConfigV2OpenstackConfigArgsDict']]] = None, resource_version: Optional[pulumi.Input[str]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['MachineConfigV2VsphereConfigArgs']]] = None) -> 'MachineConfigV2': + vsphere_config: Optional[pulumi.Input[Union['MachineConfigV2VsphereConfigArgs', 'MachineConfigV2VsphereConfigArgsDict']]] = None) -> 'MachineConfigV2': """ Get an existing MachineConfigV2 resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -669,22 +669,22 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['MachineConfigV2Amazonec2ConfigArgs']] amazonec2_config: AWS config for the Machine Config V2. Conflicts with `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2Amazonec2ConfigArgs', 'MachineConfigV2Amazonec2ConfigArgsDict']] amazonec2_config: AWS config for the Machine Config V2. Conflicts with `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Machine Config V2 object (map) - :param pulumi.Input[pulumi.InputType['MachineConfigV2AzureConfigArgs']] azure_config: Azure config for the Machine Config V2. Conflicts with `amazonec2_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) - :param pulumi.Input[pulumi.InputType['MachineConfigV2DigitaloceanConfigArgs']] digitalocean_config: Digitalocean config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2AzureConfigArgs', 'MachineConfigV2AzureConfigArgsDict']] azure_config: Azure config for the Machine Config V2. Conflicts with `amazonec2_config`, `digitalocean_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2DigitaloceanConfigArgs', 'MachineConfigV2DigitaloceanConfigArgsDict']] digitalocean_config: Digitalocean config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `harvester_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[str] fleet_namespace: Cluster V2 fleet namespace :param pulumi.Input[str] generate_name: Cluster V2 generate name. The pattern to generate machine config name. e.g generate_name=\\"prod-pool1\\" will generate \\"nc-prod-pool1-?????\\" name computed at `name` attribute (string) - :param pulumi.Input[pulumi.InputType['MachineConfigV2HarvesterConfigArgs']] harvester_config: Harvester config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2HarvesterConfigArgs', 'MachineConfigV2HarvesterConfigArgsDict']] harvester_config: Harvester config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `linode_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[str] kind: (Computed) The machine config kind (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Machine Config V2 object (map) **Note:** `labels` and `node_taints` will be applied to nodes deployed using the Machine Config V2 - :param pulumi.Input[pulumi.InputType['MachineConfigV2LinodeConfigArgs']] linode_config: Linode config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `openstack_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2LinodeConfigArgs', 'MachineConfigV2LinodeConfigArgsDict']] linode_config: Linode config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `openstack_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[str] name: (Computed) The machine config name (string) - :param pulumi.Input[pulumi.InputType['MachineConfigV2OpenstackConfigArgs']] openstack_config: Openstack config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `vsphere_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2OpenstackConfigArgs', 'MachineConfigV2OpenstackConfigArgsDict']] openstack_config: Openstack config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `vsphere_config` (list maxitems:1) :param pulumi.Input[str] resource_version: (Computed) The machine config k8s resource version (string) - :param pulumi.Input[pulumi.InputType['MachineConfigV2VsphereConfigArgs']] vsphere_config: vSphere config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `openstack_config` (list maxitems:1) + :param pulumi.Input[Union['MachineConfigV2VsphereConfigArgs', 'MachineConfigV2VsphereConfigArgsDict']] vsphere_config: vSphere config for the Machine Config V2. Conflicts with `amazonec2_config`, `azure_config`, `digitalocean_config`, `harvester_config`, `linode_config` and `openstack_config` (list maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/multi_cluster_app.py b/sdk/python/pulumi_rancher2/multi_cluster_app.py index d3f24c933..341bc9b5d 100644 --- a/sdk/python/pulumi_rancher2/multi_cluster_app.py +++ b/sdk/python/pulumi_rancher2/multi_cluster_app.py @@ -495,18 +495,18 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - answers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppAnswerArgs']]]]] = None, + answers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppAnswerArgs', 'MultiClusterAppAnswerArgsDict']]]]] = None, catalog_name: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppMemberArgs', 'MultiClusterAppMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, revision_history_limit: Optional[pulumi.Input[int]] = None, revision_id: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppTargetArgs']]]]] = None, + targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppTargetArgs', 'MultiClusterAppTargetArgsDict']]]]] = None, template_name: Optional[pulumi.Input[str]] = None, template_version: Optional[pulumi.Input[str]] = None, - upgrade_strategy: Optional[pulumi.Input[pulumi.InputType['MultiClusterAppUpgradeStrategyArgs']]] = None, + upgrade_strategy: Optional[pulumi.Input[Union['MultiClusterAppUpgradeStrategyArgs', 'MultiClusterAppUpgradeStrategyArgsDict']]] = None, wait: Optional[pulumi.Input[bool]] = None, __props__=None): """ @@ -529,16 +529,16 @@ def __init__(__self__, foo = rancher2.MultiClusterApp("foo", catalog_name="", name="foo", - targets=[rancher2.MultiClusterAppTargetArgs( - project_id="", - )], + targets=[{ + "project_id": "", + }], template_name="", template_version="", - answers=[rancher2.MultiClusterAppAnswerArgs( - values={ + answers=[{ + "values": { "ingress_host": "test.xip.io", }, - )], + }], roles=["project-member"]) ``` @@ -551,27 +551,27 @@ def __init__(__self__, catalog_name="", name="foo", targets=[ - rancher2.MultiClusterAppTargetArgs( - project_id="", - ), - rancher2.MultiClusterAppTargetArgs( - project_id="", - ), + { + "project_id": "", + }, + { + "project_id": "", + }, ], template_name="", template_version="", answers=[ - rancher2.MultiClusterAppAnswerArgs( - values={ + { + "values": { "ingress_host": "test.xip.io", }, - ), - rancher2.MultiClusterAppAnswerArgs( - project_id="", - values={ + }, + { + "project_id": "", + "values": { "ingress_host": "test2.xip.io", }, - ), + }, ], roles=["project-member"]) ``` @@ -587,18 +587,18 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for multi cluster app object (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppAnswerArgs']]]] answers: The multi cluster app answers (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppAnswerArgs', 'MultiClusterAppAnswerArgsDict']]]] answers: The multi cluster app answers (list) :param pulumi.Input[str] catalog_name: The multi cluster app catalog name (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for multi cluster app object (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppMemberArgs']]]] members: The multi cluster app answers (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppMemberArgs', 'MultiClusterAppMemberArgsDict']]]] members: The multi cluster app answers (list) :param pulumi.Input[str] name: The multi cluster app name (string) :param pulumi.Input[int] revision_history_limit: The multi cluster app revision history limit. Default `10` (int) :param pulumi.Input[str] revision_id: Current revision id for the multi cluster app (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: The multi cluster app roles (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppTargetArgs']]]] targets: The multi cluster app target projects (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppTargetArgs', 'MultiClusterAppTargetArgsDict']]]] targets: The multi cluster app target projects (list) :param pulumi.Input[str] template_name: The multi cluster app template name (string) :param pulumi.Input[str] template_version: The multi cluster app template version. Default: `latest` (string) - :param pulumi.Input[pulumi.InputType['MultiClusterAppUpgradeStrategyArgs']] upgrade_strategy: The multi cluster app upgrade strategy (list MaxItems:1) + :param pulumi.Input[Union['MultiClusterAppUpgradeStrategyArgs', 'MultiClusterAppUpgradeStrategyArgsDict']] upgrade_strategy: The multi cluster app upgrade strategy (list MaxItems:1) :param pulumi.Input[bool] wait: Wait until the multi cluster app is active. Default `true` (bool) """ ... @@ -627,16 +627,16 @@ def __init__(__self__, foo = rancher2.MultiClusterApp("foo", catalog_name="", name="foo", - targets=[rancher2.MultiClusterAppTargetArgs( - project_id="", - )], + targets=[{ + "project_id": "", + }], template_name="", template_version="", - answers=[rancher2.MultiClusterAppAnswerArgs( - values={ + answers=[{ + "values": { "ingress_host": "test.xip.io", }, - )], + }], roles=["project-member"]) ``` @@ -649,27 +649,27 @@ def __init__(__self__, catalog_name="", name="foo", targets=[ - rancher2.MultiClusterAppTargetArgs( - project_id="", - ), - rancher2.MultiClusterAppTargetArgs( - project_id="", - ), + { + "project_id": "", + }, + { + "project_id": "", + }, ], template_name="", template_version="", answers=[ - rancher2.MultiClusterAppAnswerArgs( - values={ + { + "values": { "ingress_host": "test.xip.io", }, - ), - rancher2.MultiClusterAppAnswerArgs( - project_id="", - values={ + }, + { + "project_id": "", + "values": { "ingress_host": "test2.xip.io", }, - ), + }, ], roles=["project-member"]) ``` @@ -698,18 +698,18 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - answers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppAnswerArgs']]]]] = None, + answers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppAnswerArgs', 'MultiClusterAppAnswerArgsDict']]]]] = None, catalog_name: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppMemberArgs', 'MultiClusterAppMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, revision_history_limit: Optional[pulumi.Input[int]] = None, revision_id: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppTargetArgs']]]]] = None, + targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppTargetArgs', 'MultiClusterAppTargetArgsDict']]]]] = None, template_name: Optional[pulumi.Input[str]] = None, template_version: Optional[pulumi.Input[str]] = None, - upgrade_strategy: Optional[pulumi.Input[pulumi.InputType['MultiClusterAppUpgradeStrategyArgs']]] = None, + upgrade_strategy: Optional[pulumi.Input[Union['MultiClusterAppUpgradeStrategyArgs', 'MultiClusterAppUpgradeStrategyArgsDict']]] = None, wait: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -754,19 +754,19 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - answers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppAnswerArgs']]]]] = None, + answers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppAnswerArgs', 'MultiClusterAppAnswerArgsDict']]]]] = None, catalog_name: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - members: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppMemberArgs']]]]] = None, + members: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppMemberArgs', 'MultiClusterAppMemberArgsDict']]]]] = None, name: Optional[pulumi.Input[str]] = None, revision_history_limit: Optional[pulumi.Input[int]] = None, revision_id: Optional[pulumi.Input[str]] = None, roles: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - targets: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppTargetArgs']]]]] = None, + targets: Optional[pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppTargetArgs', 'MultiClusterAppTargetArgsDict']]]]] = None, template_name: Optional[pulumi.Input[str]] = None, template_version: Optional[pulumi.Input[str]] = None, template_version_id: Optional[pulumi.Input[str]] = None, - upgrade_strategy: Optional[pulumi.Input[pulumi.InputType['MultiClusterAppUpgradeStrategyArgs']]] = None, + upgrade_strategy: Optional[pulumi.Input[Union['MultiClusterAppUpgradeStrategyArgs', 'MultiClusterAppUpgradeStrategyArgsDict']]] = None, wait: Optional[pulumi.Input[bool]] = None) -> 'MultiClusterApp': """ Get an existing MultiClusterApp resource's state with the given name, id, and optional extra @@ -776,19 +776,19 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for multi cluster app object (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppAnswerArgs']]]] answers: The multi cluster app answers (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppAnswerArgs', 'MultiClusterAppAnswerArgsDict']]]] answers: The multi cluster app answers (list) :param pulumi.Input[str] catalog_name: The multi cluster app catalog name (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for multi cluster app object (map) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppMemberArgs']]]] members: The multi cluster app answers (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppMemberArgs', 'MultiClusterAppMemberArgsDict']]]] members: The multi cluster app answers (list) :param pulumi.Input[str] name: The multi cluster app name (string) :param pulumi.Input[int] revision_history_limit: The multi cluster app revision history limit. Default `10` (int) :param pulumi.Input[str] revision_id: Current revision id for the multi cluster app (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] roles: The multi cluster app roles (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['MultiClusterAppTargetArgs']]]] targets: The multi cluster app target projects (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['MultiClusterAppTargetArgs', 'MultiClusterAppTargetArgsDict']]]] targets: The multi cluster app target projects (list) :param pulumi.Input[str] template_name: The multi cluster app template name (string) :param pulumi.Input[str] template_version: The multi cluster app template version. Default: `latest` (string) :param pulumi.Input[str] template_version_id: (Computed) The multi cluster app template version ID (string) - :param pulumi.Input[pulumi.InputType['MultiClusterAppUpgradeStrategyArgs']] upgrade_strategy: The multi cluster app upgrade strategy (list MaxItems:1) + :param pulumi.Input[Union['MultiClusterAppUpgradeStrategyArgs', 'MultiClusterAppUpgradeStrategyArgsDict']] upgrade_strategy: The multi cluster app upgrade strategy (list MaxItems:1) :param pulumi.Input[bool] wait: Wait until the multi cluster app is active. Default `true` (bool) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/namespace.py b/sdk/python/pulumi_rancher2/namespace.py index 63003ba3f..bd3122917 100644 --- a/sdk/python/pulumi_rancher2/namespace.py +++ b/sdk/python/pulumi_rancher2/namespace.py @@ -290,12 +290,12 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['NamespaceContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['NamespaceContainerResourceLimitArgs', 'NamespaceContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['NamespaceResourceQuotaArgs']]] = None, + resource_quota: Optional[pulumi.Input[Union['NamespaceResourceQuotaArgs', 'NamespaceResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): """ @@ -312,19 +312,19 @@ def __init__(__self__, name="foo", project_id="", description="foo namespace", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ```python @@ -335,29 +335,29 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Namespace assigned to default cluster project foo = rancher2.Namespace("foo", name="foo", project_id=foo_custom.default_project_id, description="foo namespace", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ## Import @@ -377,12 +377,12 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Pool object (map) - :param pulumi.Input[pulumi.InputType['NamespaceContainerResourceLimitArgs']] container_resource_limit: Default containers resource limits on namespace (List maxitem:1) + :param pulumi.Input[Union['NamespaceContainerResourceLimitArgs', 'NamespaceContainerResourceLimitArgsDict']] container_resource_limit: Default containers resource limits on namespace (List maxitem:1) :param pulumi.Input[str] description: A namespace description (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the namespace (string) :param pulumi.Input[str] project_id: The project id where assign namespace. It's on the form `project_id=:`. Updating `` part on same `` namespace will be moved between projects (string) - :param pulumi.Input[pulumi.InputType['NamespaceResourceQuotaArgs']] resource_quota: Resource quota for namespace. Rancher v2.1.x or higher (list maxitems:1) + :param pulumi.Input[Union['NamespaceResourceQuotaArgs', 'NamespaceResourceQuotaArgsDict']] resource_quota: Resource quota for namespace. Rancher v2.1.x or higher (list maxitems:1) :param pulumi.Input[bool] wait_for_cluster: Wait for cluster becomes active. Default `false` (bool) """ ... @@ -405,19 +405,19 @@ def __init__(__self__, name="foo", project_id="", description="foo namespace", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ```python @@ -428,29 +428,29 @@ def __init__(__self__, foo_custom = rancher2.Cluster("foo-custom", name="foo-custom", description="Foo rancher2 custom cluster", - rke_config=rancher2.ClusterRkeConfigArgs( - network=rancher2.ClusterRkeConfigNetworkArgs( - plugin="canal", - ), - )) + rke_config={ + "network": { + "plugin": "canal", + }, + }) # Create a new rancher2 Namespace assigned to default cluster project foo = rancher2.Namespace("foo", name="foo", project_id=foo_custom.default_project_id, description="foo namespace", - resource_quota=rancher2.NamespaceResourceQuotaArgs( - limit=rancher2.NamespaceResourceQuotaLimitArgs( - limits_cpu="100m", - limits_memory="100Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.NamespaceContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "limit": { + "limits_cpu": "100m", + "limits_memory": "100Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ## Import @@ -483,12 +483,12 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['NamespaceContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['NamespaceContainerResourceLimitArgs', 'NamespaceContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['NamespaceResourceQuotaArgs']]] = None, + resource_quota: Optional[pulumi.Input[Union['NamespaceResourceQuotaArgs', 'NamespaceResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -520,12 +520,12 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['NamespaceContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['NamespaceContainerResourceLimitArgs', 'NamespaceContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['NamespaceResourceQuotaArgs']]] = None, + resource_quota: Optional[pulumi.Input[Union['NamespaceResourceQuotaArgs', 'NamespaceResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None) -> 'Namespace': """ Get an existing Namespace resource's state with the given name, id, and optional extra @@ -535,12 +535,12 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Pool object (map) - :param pulumi.Input[pulumi.InputType['NamespaceContainerResourceLimitArgs']] container_resource_limit: Default containers resource limits on namespace (List maxitem:1) + :param pulumi.Input[Union['NamespaceContainerResourceLimitArgs', 'NamespaceContainerResourceLimitArgsDict']] container_resource_limit: Default containers resource limits on namespace (List maxitem:1) :param pulumi.Input[str] description: A namespace description (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the namespace (string) :param pulumi.Input[str] project_id: The project id where assign namespace. It's on the form `project_id=:`. Updating `` part on same `` namespace will be moved between projects (string) - :param pulumi.Input[pulumi.InputType['NamespaceResourceQuotaArgs']] resource_quota: Resource quota for namespace. Rancher v2.1.x or higher (list maxitems:1) + :param pulumi.Input[Union['NamespaceResourceQuotaArgs', 'NamespaceResourceQuotaArgsDict']] resource_quota: Resource quota for namespace. Rancher v2.1.x or higher (list maxitems:1) :param pulumi.Input[bool] wait_for_cluster: Wait for cluster becomes active. Default `false` (bool) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/node_pool.py b/sdk/python/pulumi_rancher2/node_pool.py index 6a88de777..39b3ad8c8 100644 --- a/sdk/python/pulumi_rancher2/node_pool.py +++ b/sdk/python/pulumi_rancher2/node_pool.py @@ -456,7 +456,7 @@ def __init__(__self__, hostname_prefix: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolNodeTaintArgs']]]]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolNodeTaintArgs', 'NodePoolNodeTaintArgsDict']]]]] = None, node_template_id: Optional[pulumi.Input[str]] = None, quantity: Optional[pulumi.Input[int]] = None, worker: Optional[pulumi.Input[bool]] = None, @@ -483,7 +483,7 @@ def __init__(__self__, :param pulumi.Input[str] hostname_prefix: The prefix for created nodes of the Node Pool (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the Node Pool (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolNodeTaintArgs']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) + :param pulumi.Input[Sequence[pulumi.Input[Union['NodePoolNodeTaintArgs', 'NodePoolNodeTaintArgsDict']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) :param pulumi.Input[str] node_template_id: The Node Template ID to use for node creation (string) :param pulumi.Input[int] quantity: The number of nodes to create on Node Pool. Default `1`. Only values >= 1 allowed (int) :param pulumi.Input[bool] worker: RKE role role for created nodes (bool) @@ -529,7 +529,7 @@ def _internal_init(__self__, hostname_prefix: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolNodeTaintArgs']]]]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolNodeTaintArgs', 'NodePoolNodeTaintArgsDict']]]]] = None, node_template_id: Optional[pulumi.Input[str]] = None, quantity: Optional[pulumi.Input[int]] = None, worker: Optional[pulumi.Input[bool]] = None, @@ -580,7 +580,7 @@ def get(resource_name: str, hostname_prefix: Optional[pulumi.Input[str]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolNodeTaintArgs']]]]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodePoolNodeTaintArgs', 'NodePoolNodeTaintArgsDict']]]]] = None, node_template_id: Optional[pulumi.Input[str]] = None, quantity: Optional[pulumi.Input[int]] = None, worker: Optional[pulumi.Input[bool]] = None) -> 'NodePool': @@ -600,7 +600,7 @@ def get(resource_name: str, :param pulumi.Input[str] hostname_prefix: The prefix for created nodes of the Node Pool (string) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the Node Pool (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodePoolNodeTaintArgs']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) + :param pulumi.Input[Sequence[pulumi.Input[Union['NodePoolNodeTaintArgs', 'NodePoolNodeTaintArgsDict']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) :param pulumi.Input[str] node_template_id: The Node Template ID to use for node creation (string) :param pulumi.Input[int] quantity: The number of nodes to create on Node Pool. Default `1`. Only values >= 1 allowed (int) :param pulumi.Input[bool] worker: RKE role role for created nodes (bool) diff --git a/sdk/python/pulumi_rancher2/node_template.py b/sdk/python/pulumi_rancher2/node_template.py index b72f2bfee..0b4366127 100644 --- a/sdk/python/pulumi_rancher2/node_template.py +++ b/sdk/python/pulumi_rancher2/node_template.py @@ -922,14 +922,14 @@ class NodeTemplate(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAmazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, auth_certificate_authority: Optional[pulumi.Input[str]] = None, auth_key: Optional[pulumi.Input[str]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAzureConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['NodeTemplateAzureConfigArgs', 'NodeTemplateAzureConfigArgsDict']]] = None, cloud_credential_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateDigitaloceanConfigArgs']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['NodeTemplateDigitaloceanConfigArgs', 'NodeTemplateDigitaloceanConfigArgsDict']]] = None, driver_id: Optional[pulumi.Input[str]] = None, engine_env: Optional[pulumi.Input[Mapping[str, Any]]] = None, engine_insecure_registries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -938,17 +938,17 @@ def __init__(__self__, engine_opt: Optional[pulumi.Input[Mapping[str, Any]]] = None, engine_registry_mirrors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, engine_storage_driver: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHarvesterConfigArgs']]] = None, - hetzner_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHetznerConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['NodeTemplateHarvesterConfigArgs', 'NodeTemplateHarvesterConfigArgsDict']]] = None, + hetzner_config: Optional[pulumi.Input[Union['NodeTemplateHetznerConfigArgs', 'NodeTemplateHetznerConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateLinodeConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['NodeTemplateLinodeConfigArgs', 'NodeTemplateLinodeConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodeTemplateNodeTaintArgs']]]]] = None, - opennebula_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpennebulaConfigArgs']]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpenstackConfigArgs']]] = None, - outscale_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOutscaleConfigArgs']]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeTemplateNodeTaintArgs', 'NodeTemplateNodeTaintArgsDict']]]]] = None, + opennebula_config: Optional[pulumi.Input[Union['NodeTemplateOpennebulaConfigArgs', 'NodeTemplateOpennebulaConfigArgsDict']]] = None, + openstack_config: Optional[pulumi.Input[Union['NodeTemplateOpenstackConfigArgs', 'NodeTemplateOpenstackConfigArgsDict']]] = None, + outscale_config: Optional[pulumi.Input[Union['NodeTemplateOutscaleConfigArgs', 'NodeTemplateOutscaleConfigArgsDict']]] = None, use_internal_ip_address: Optional[pulumi.Input[bool]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateVsphereConfigArgs']]] = None, + vsphere_config: Optional[pulumi.Input[Union['NodeTemplateVsphereConfigArgs', 'NodeTemplateVsphereConfigArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Node Template resource. This can be used to create Node Template for Rancher v2 and retrieve their information. @@ -967,16 +967,16 @@ def __init__(__self__, foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="AWS_ACCESS_KEY", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "AWS_ACCESS_KEY", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) ``` ```python @@ -987,22 +987,22 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_node_template = rancher2.NodeTemplate("foo", name="foo", description="foo test", cloud_credential_id=foo.id, - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) ``` ### Using the Harvester Node Driver @@ -1016,21 +1016,21 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) # Create a new rancher2 Node Template using harvester node_driver foo_harvester_node_template = rancher2.NodeTemplate("foo-harvester", name="foo-harvester", cloud_credential_id=foo_harvester_cloud_credential.id, engine_install_url="https://releases.rancher.com/install-docker/20.10.sh", - harvester_config=rancher2.NodeTemplateHarvesterConfigArgs( - vm_namespace="default", - cpu_count="2", - memory_size="4", - disk_info=\"\"\" { + harvester_config={ + "vm_namespace": "default", + "cpu_count": "2", + "memory_size": "4", + "disk_info": \"\"\" { "disks": [{ "imageName": "harvester-public/image-57hzg", "size": 40, @@ -1038,14 +1038,14 @@ def __init__(__self__, }] } \"\"\", - network_info=\"\"\" { + "network_info": \"\"\" { "interfaces": [{ "networkName": "harvester-public/vlan1" }] } \"\"\", - ssh_user="ubuntu", - user_data=\"\"\" package_update: true + "ssh_user": "ubuntu", + "user_data": \"\"\" package_update: true packages: - qemu-guest-agent - iptables @@ -1055,7 +1055,7 @@ def __init__(__self__, - '--now' - qemu-guest-agent.service \"\"\", - )) + }) ``` ### Using the Hetzner Node Driver @@ -1075,12 +1075,12 @@ def __init__(__self__, my_hetzner_node_template = rancher2.NodeTemplate("my_hetzner_node_template", name="my-hetzner-node-template", driver_id=hetzner_node_driver.id, - hetzner_config=rancher2.NodeTemplateHetznerConfigArgs( - api_token="XXXXXXXXXX", - image="ubuntu-18.04", - server_location="nbg1", - server_type="cx11", - )) + hetzner_config={ + "api_token": "XXXXXXXXXX", + "image": "ubuntu-18.04", + "server_location": "nbg1", + "server_type": "cx11", + }) ``` ## Upgrading to Rancher v2.3.3 @@ -1091,14 +1091,14 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['NodeTemplateAmazonec2ConfigArgs']] amazonec2_config: AWS config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']] amazonec2_config: AWS config for the Node Template (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Template object (map) :param pulumi.Input[str] auth_certificate_authority: Auth certificate authority for the Node Template (string) :param pulumi.Input[str] auth_key: Auth key for the Node Template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateAzureConfigArgs']] azure_config: Azure config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateAzureConfigArgs', 'NodeTemplateAzureConfigArgsDict']] azure_config: Azure config for the Node Template (list maxitems:1) :param pulumi.Input[str] cloud_credential_id: Cloud credential ID for the Node Template. Required from Rancher v2.2.x (string) :param pulumi.Input[str] description: Description for the Node Template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateDigitaloceanConfigArgs']] digitalocean_config: Digitalocean config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateDigitaloceanConfigArgs', 'NodeTemplateDigitaloceanConfigArgsDict']] digitalocean_config: Digitalocean config for the Node Template (list maxitems:1) :param pulumi.Input[str] driver_id: The node driver id used by the node template. It's required if the node driver isn't built in Rancher (string) :param pulumi.Input[Mapping[str, Any]] engine_env: Engine environment for the node template (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] engine_insecure_registries: Insecure registry for the node template (list) @@ -1107,19 +1107,19 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] engine_opt: Engine options for the node template (map) :param pulumi.Input[Sequence[pulumi.Input[str]]] engine_registry_mirrors: Engine registry mirror for the node template (list) :param pulumi.Input[str] engine_storage_driver: Engine storage driver for the node template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateHarvesterConfigArgs']] harvester_config: Harvester config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateHetznerConfigArgs']] hetzner_config: Hetzner config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateHarvesterConfigArgs', 'NodeTemplateHarvesterConfigArgsDict']] harvester_config: Harvester config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateHetznerConfigArgs', 'NodeTemplateHetznerConfigArgsDict']] hetzner_config: Hetzner config for the Node Template (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Template object (map) **Note:** `labels` and `node_taints` will be applied to nodes deployed using the Node Template - :param pulumi.Input[pulumi.InputType['NodeTemplateLinodeConfigArgs']] linode_config: Linode config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateLinodeConfigArgs', 'NodeTemplateLinodeConfigArgsDict']] linode_config: Linode config for the Node Template (list maxitems:1) :param pulumi.Input[str] name: The name of the Node Template (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodeTemplateNodeTaintArgs']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) - :param pulumi.Input[pulumi.InputType['NodeTemplateOpennebulaConfigArgs']] opennebula_config: Opennebula config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateOpenstackConfigArgs']] openstack_config: Openstack config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateOutscaleConfigArgs']] outscale_config: Outscale config for the Node Template (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeTemplateNodeTaintArgs', 'NodeTemplateNodeTaintArgsDict']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) + :param pulumi.Input[Union['NodeTemplateOpennebulaConfigArgs', 'NodeTemplateOpennebulaConfigArgsDict']] opennebula_config: Opennebula config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateOpenstackConfigArgs', 'NodeTemplateOpenstackConfigArgsDict']] openstack_config: Openstack config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateOutscaleConfigArgs', 'NodeTemplateOutscaleConfigArgsDict']] outscale_config: Outscale config for the Node Template (list maxitems:1) :param pulumi.Input[bool] use_internal_ip_address: Engine storage driver for the node template (bool) - :param pulumi.Input[pulumi.InputType['NodeTemplateVsphereConfigArgs']] vsphere_config: vSphere config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateVsphereConfigArgs', 'NodeTemplateVsphereConfigArgsDict']] vsphere_config: vSphere config for the Node Template (list maxitems:1) """ ... @overload @@ -1144,16 +1144,16 @@ def __init__(__self__, foo = rancher2.NodeTemplate("foo", name="foo", description="foo test", - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - access_key="AWS_ACCESS_KEY", - secret_key="", - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "access_key": "AWS_ACCESS_KEY", + "secret_key": "", + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) ``` ```python @@ -1164,22 +1164,22 @@ def __init__(__self__, foo = rancher2.CloudCredential("foo", name="foo", description="foo test", - amazonec2_credential_config=rancher2.CloudCredentialAmazonec2CredentialConfigArgs( - access_key="", - secret_key="", - )) + amazonec2_credential_config={ + "access_key": "", + "secret_key": "", + }) foo_node_template = rancher2.NodeTemplate("foo", name="foo", description="foo test", cloud_credential_id=foo.id, - amazonec2_config=rancher2.NodeTemplateAmazonec2ConfigArgs( - ami="", - region="", - security_groups=[""], - subnet_id="", - vpc_id="", - zone="", - )) + amazonec2_config={ + "ami": "", + "region": "", + "security_groups": [""], + "subnet_id": "", + "vpc_id": "", + "zone": "", + }) ``` ### Using the Harvester Node Driver @@ -1193,21 +1193,21 @@ def __init__(__self__, # Create a new Cloud Credential for an imported Harvester cluster foo_harvester_cloud_credential = rancher2.CloudCredential("foo-harvester", name="foo-harvester", - harvester_credential_config=rancher2.CloudCredentialHarvesterCredentialConfigArgs( - cluster_id=foo_harvester.cluster_v1_id, - cluster_type="imported", - kubeconfig_content=foo_harvester.kube_config, - )) + harvester_credential_config={ + "cluster_id": foo_harvester.cluster_v1_id, + "cluster_type": "imported", + "kubeconfig_content": foo_harvester.kube_config, + }) # Create a new rancher2 Node Template using harvester node_driver foo_harvester_node_template = rancher2.NodeTemplate("foo-harvester", name="foo-harvester", cloud_credential_id=foo_harvester_cloud_credential.id, engine_install_url="https://releases.rancher.com/install-docker/20.10.sh", - harvester_config=rancher2.NodeTemplateHarvesterConfigArgs( - vm_namespace="default", - cpu_count="2", - memory_size="4", - disk_info=\"\"\" { + harvester_config={ + "vm_namespace": "default", + "cpu_count": "2", + "memory_size": "4", + "disk_info": \"\"\" { "disks": [{ "imageName": "harvester-public/image-57hzg", "size": 40, @@ -1215,14 +1215,14 @@ def __init__(__self__, }] } \"\"\", - network_info=\"\"\" { + "network_info": \"\"\" { "interfaces": [{ "networkName": "harvester-public/vlan1" }] } \"\"\", - ssh_user="ubuntu", - user_data=\"\"\" package_update: true + "ssh_user": "ubuntu", + "user_data": \"\"\" package_update: true packages: - qemu-guest-agent - iptables @@ -1232,7 +1232,7 @@ def __init__(__self__, - '--now' - qemu-guest-agent.service \"\"\", - )) + }) ``` ### Using the Hetzner Node Driver @@ -1252,12 +1252,12 @@ def __init__(__self__, my_hetzner_node_template = rancher2.NodeTemplate("my_hetzner_node_template", name="my-hetzner-node-template", driver_id=hetzner_node_driver.id, - hetzner_config=rancher2.NodeTemplateHetznerConfigArgs( - api_token="XXXXXXXXXX", - image="ubuntu-18.04", - server_location="nbg1", - server_type="cx11", - )) + hetzner_config={ + "api_token": "XXXXXXXXXX", + "image": "ubuntu-18.04", + "server_location": "nbg1", + "server_type": "cx11", + }) ``` ## Upgrading to Rancher v2.3.3 @@ -1281,14 +1281,14 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAmazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, auth_certificate_authority: Optional[pulumi.Input[str]] = None, auth_key: Optional[pulumi.Input[str]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAzureConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['NodeTemplateAzureConfigArgs', 'NodeTemplateAzureConfigArgsDict']]] = None, cloud_credential_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateDigitaloceanConfigArgs']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['NodeTemplateDigitaloceanConfigArgs', 'NodeTemplateDigitaloceanConfigArgsDict']]] = None, driver_id: Optional[pulumi.Input[str]] = None, engine_env: Optional[pulumi.Input[Mapping[str, Any]]] = None, engine_insecure_registries: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, @@ -1297,17 +1297,17 @@ def _internal_init(__self__, engine_opt: Optional[pulumi.Input[Mapping[str, Any]]] = None, engine_registry_mirrors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, engine_storage_driver: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHarvesterConfigArgs']]] = None, - hetzner_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHetznerConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['NodeTemplateHarvesterConfigArgs', 'NodeTemplateHarvesterConfigArgsDict']]] = None, + hetzner_config: Optional[pulumi.Input[Union['NodeTemplateHetznerConfigArgs', 'NodeTemplateHetznerConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateLinodeConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['NodeTemplateLinodeConfigArgs', 'NodeTemplateLinodeConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodeTemplateNodeTaintArgs']]]]] = None, - opennebula_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpennebulaConfigArgs']]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpenstackConfigArgs']]] = None, - outscale_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOutscaleConfigArgs']]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeTemplateNodeTaintArgs', 'NodeTemplateNodeTaintArgsDict']]]]] = None, + opennebula_config: Optional[pulumi.Input[Union['NodeTemplateOpennebulaConfigArgs', 'NodeTemplateOpennebulaConfigArgsDict']]] = None, + openstack_config: Optional[pulumi.Input[Union['NodeTemplateOpenstackConfigArgs', 'NodeTemplateOpenstackConfigArgsDict']]] = None, + outscale_config: Optional[pulumi.Input[Union['NodeTemplateOutscaleConfigArgs', 'NodeTemplateOutscaleConfigArgsDict']]] = None, use_internal_ip_address: Optional[pulumi.Input[bool]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateVsphereConfigArgs']]] = None, + vsphere_config: Optional[pulumi.Input[Union['NodeTemplateVsphereConfigArgs', 'NodeTemplateVsphereConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -1357,14 +1357,14 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, - amazonec2_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAmazonec2ConfigArgs']]] = None, + amazonec2_config: Optional[pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, auth_certificate_authority: Optional[pulumi.Input[str]] = None, auth_key: Optional[pulumi.Input[str]] = None, - azure_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateAzureConfigArgs']]] = None, + azure_config: Optional[pulumi.Input[Union['NodeTemplateAzureConfigArgs', 'NodeTemplateAzureConfigArgsDict']]] = None, cloud_credential_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - digitalocean_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateDigitaloceanConfigArgs']]] = None, + digitalocean_config: Optional[pulumi.Input[Union['NodeTemplateDigitaloceanConfigArgs', 'NodeTemplateDigitaloceanConfigArgsDict']]] = None, driver: Optional[pulumi.Input[str]] = None, driver_id: Optional[pulumi.Input[str]] = None, engine_env: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1374,17 +1374,17 @@ def get(resource_name: str, engine_opt: Optional[pulumi.Input[Mapping[str, Any]]] = None, engine_registry_mirrors: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, engine_storage_driver: Optional[pulumi.Input[str]] = None, - harvester_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHarvesterConfigArgs']]] = None, - hetzner_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateHetznerConfigArgs']]] = None, + harvester_config: Optional[pulumi.Input[Union['NodeTemplateHarvesterConfigArgs', 'NodeTemplateHarvesterConfigArgsDict']]] = None, + hetzner_config: Optional[pulumi.Input[Union['NodeTemplateHetznerConfigArgs', 'NodeTemplateHetznerConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - linode_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateLinodeConfigArgs']]] = None, + linode_config: Optional[pulumi.Input[Union['NodeTemplateLinodeConfigArgs', 'NodeTemplateLinodeConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodeTemplateNodeTaintArgs']]]]] = None, - opennebula_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpennebulaConfigArgs']]] = None, - openstack_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOpenstackConfigArgs']]] = None, - outscale_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateOutscaleConfigArgs']]] = None, + node_taints: Optional[pulumi.Input[Sequence[pulumi.Input[Union['NodeTemplateNodeTaintArgs', 'NodeTemplateNodeTaintArgsDict']]]]] = None, + opennebula_config: Optional[pulumi.Input[Union['NodeTemplateOpennebulaConfigArgs', 'NodeTemplateOpennebulaConfigArgsDict']]] = None, + openstack_config: Optional[pulumi.Input[Union['NodeTemplateOpenstackConfigArgs', 'NodeTemplateOpenstackConfigArgsDict']]] = None, + outscale_config: Optional[pulumi.Input[Union['NodeTemplateOutscaleConfigArgs', 'NodeTemplateOutscaleConfigArgsDict']]] = None, use_internal_ip_address: Optional[pulumi.Input[bool]] = None, - vsphere_config: Optional[pulumi.Input[pulumi.InputType['NodeTemplateVsphereConfigArgs']]] = None) -> 'NodeTemplate': + vsphere_config: Optional[pulumi.Input[Union['NodeTemplateVsphereConfigArgs', 'NodeTemplateVsphereConfigArgsDict']]] = None) -> 'NodeTemplate': """ Get an existing NodeTemplate resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -1392,14 +1392,14 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[pulumi.InputType['NodeTemplateAmazonec2ConfigArgs']] amazonec2_config: AWS config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateAmazonec2ConfigArgs', 'NodeTemplateAmazonec2ConfigArgsDict']] amazonec2_config: AWS config for the Node Template (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Template object (map) :param pulumi.Input[str] auth_certificate_authority: Auth certificate authority for the Node Template (string) :param pulumi.Input[str] auth_key: Auth key for the Node Template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateAzureConfigArgs']] azure_config: Azure config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateAzureConfigArgs', 'NodeTemplateAzureConfigArgsDict']] azure_config: Azure config for the Node Template (list maxitems:1) :param pulumi.Input[str] cloud_credential_id: Cloud credential ID for the Node Template. Required from Rancher v2.2.x (string) :param pulumi.Input[str] description: Description for the Node Template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateDigitaloceanConfigArgs']] digitalocean_config: Digitalocean config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateDigitaloceanConfigArgs', 'NodeTemplateDigitaloceanConfigArgsDict']] digitalocean_config: Digitalocean config for the Node Template (list maxitems:1) :param pulumi.Input[str] driver: (Computed) The driver of the node template (string) :param pulumi.Input[str] driver_id: The node driver id used by the node template. It's required if the node driver isn't built in Rancher (string) :param pulumi.Input[Mapping[str, Any]] engine_env: Engine environment for the node template (string) @@ -1409,19 +1409,19 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] engine_opt: Engine options for the node template (map) :param pulumi.Input[Sequence[pulumi.Input[str]]] engine_registry_mirrors: Engine registry mirror for the node template (list) :param pulumi.Input[str] engine_storage_driver: Engine storage driver for the node template (string) - :param pulumi.Input[pulumi.InputType['NodeTemplateHarvesterConfigArgs']] harvester_config: Harvester config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateHetznerConfigArgs']] hetzner_config: Hetzner config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateHarvesterConfigArgs', 'NodeTemplateHarvesterConfigArgsDict']] harvester_config: Harvester config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateHetznerConfigArgs', 'NodeTemplateHetznerConfigArgsDict']] hetzner_config: Hetzner config for the Node Template (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Template object (map) **Note:** `labels` and `node_taints` will be applied to nodes deployed using the Node Template - :param pulumi.Input[pulumi.InputType['NodeTemplateLinodeConfigArgs']] linode_config: Linode config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateLinodeConfigArgs', 'NodeTemplateLinodeConfigArgsDict']] linode_config: Linode config for the Node Template (list maxitems:1) :param pulumi.Input[str] name: The name of the Node Template (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['NodeTemplateNodeTaintArgs']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) - :param pulumi.Input[pulumi.InputType['NodeTemplateOpennebulaConfigArgs']] opennebula_config: Opennebula config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateOpenstackConfigArgs']] openstack_config: Openstack config for the Node Template (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NodeTemplateOutscaleConfigArgs']] outscale_config: Outscale config for the Node Template (list maxitems:1) + :param pulumi.Input[Sequence[pulumi.Input[Union['NodeTemplateNodeTaintArgs', 'NodeTemplateNodeTaintArgsDict']]]] node_taints: Node taints. For Rancher v2.3.3 and above (List) + :param pulumi.Input[Union['NodeTemplateOpennebulaConfigArgs', 'NodeTemplateOpennebulaConfigArgsDict']] opennebula_config: Opennebula config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateOpenstackConfigArgs', 'NodeTemplateOpenstackConfigArgsDict']] openstack_config: Openstack config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateOutscaleConfigArgs', 'NodeTemplateOutscaleConfigArgsDict']] outscale_config: Outscale config for the Node Template (list maxitems:1) :param pulumi.Input[bool] use_internal_ip_address: Engine storage driver for the node template (bool) - :param pulumi.Input[pulumi.InputType['NodeTemplateVsphereConfigArgs']] vsphere_config: vSphere config for the Node Template (list maxitems:1) + :param pulumi.Input[Union['NodeTemplateVsphereConfigArgs', 'NodeTemplateVsphereConfigArgsDict']] vsphere_config: vSphere config for the Node Template (list maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/notifier.py b/sdk/python/pulumi_rancher2/notifier.py index e205863db..754be6d69 100644 --- a/sdk/python/pulumi_rancher2/notifier.py +++ b/sdk/python/pulumi_rancher2/notifier.py @@ -452,16 +452,16 @@ def __init__(__self__, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - dingtalk_config: Optional[pulumi.Input[pulumi.InputType['NotifierDingtalkConfigArgs']]] = None, + dingtalk_config: Optional[pulumi.Input[Union['NotifierDingtalkConfigArgs', 'NotifierDingtalkConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - msteams_config: Optional[pulumi.Input[pulumi.InputType['NotifierMsteamsConfigArgs']]] = None, + msteams_config: Optional[pulumi.Input[Union['NotifierMsteamsConfigArgs', 'NotifierMsteamsConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pagerduty_config: Optional[pulumi.Input[pulumi.InputType['NotifierPagerdutyConfigArgs']]] = None, + pagerduty_config: Optional[pulumi.Input[Union['NotifierPagerdutyConfigArgs', 'NotifierPagerdutyConfigArgsDict']]] = None, send_resolved: Optional[pulumi.Input[bool]] = None, - slack_config: Optional[pulumi.Input[pulumi.InputType['NotifierSlackConfigArgs']]] = None, - smtp_config: Optional[pulumi.Input[pulumi.InputType['NotifierSmtpConfigArgs']]] = None, - webhook_config: Optional[pulumi.Input[pulumi.InputType['NotifierWebhookConfigArgs']]] = None, - wechat_config: Optional[pulumi.Input[pulumi.InputType['NotifierWechatConfigArgs']]] = None, + slack_config: Optional[pulumi.Input[Union['NotifierSlackConfigArgs', 'NotifierSlackConfigArgsDict']]] = None, + smtp_config: Optional[pulumi.Input[Union['NotifierSmtpConfigArgs', 'NotifierSmtpConfigArgsDict']]] = None, + webhook_config: Optional[pulumi.Input[Union['NotifierWebhookConfigArgs', 'NotifierWebhookConfigArgsDict']]] = None, + wechat_config: Optional[pulumi.Input[Union['NotifierWechatConfigArgs', 'NotifierWechatConfigArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Notifier resource. This can be used to create notifiers for Rancher v2 environments and retrieve their information. @@ -478,10 +478,10 @@ def __init__(__self__, cluster_id="", description="Terraform notifier acceptance test", send_resolved=True, - pagerduty_config=rancher2.NotifierPagerdutyConfigArgs( - service_key="XXXXXXXX", - proxy_url="http://proxy.test.io", - )) + pagerduty_config={ + "service_key": "XXXXXXXX", + "proxy_url": "http://proxy.test.io", + }) ``` ## Import @@ -497,16 +497,16 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for notifier object (map) :param pulumi.Input[str] cluster_id: The cluster id where create notifier (string) :param pulumi.Input[str] description: The notifier description (string) - :param pulumi.Input[pulumi.InputType['NotifierDingtalkConfigArgs']] dingtalk_config: Dingtalk config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierDingtalkConfigArgs', 'NotifierDingtalkConfigArgsDict']] dingtalk_config: Dingtalk config for notifier (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for notifier object (map) - :param pulumi.Input[pulumi.InputType['NotifierMsteamsConfigArgs']] msteams_config: MSTeams config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierMsteamsConfigArgs', 'NotifierMsteamsConfigArgsDict']] msteams_config: MSTeams config for notifier (list maxitems:1) :param pulumi.Input[str] name: The name of the notifier (string) - :param pulumi.Input[pulumi.InputType['NotifierPagerdutyConfigArgs']] pagerduty_config: Pagerduty config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierPagerdutyConfigArgs', 'NotifierPagerdutyConfigArgsDict']] pagerduty_config: Pagerduty config for notifier (list maxitems:1) :param pulumi.Input[bool] send_resolved: = (Optional) Enable the notifier to send resolved notifications. Default `false` (bool) - :param pulumi.Input[pulumi.InputType['NotifierSlackConfigArgs']] slack_config: Slack config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierSmtpConfigArgs']] smtp_config: SMTP config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierWebhookConfigArgs']] webhook_config: Webhook config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierWechatConfigArgs']] wechat_config: Wechat config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierSlackConfigArgs', 'NotifierSlackConfigArgsDict']] slack_config: Slack config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierSmtpConfigArgs', 'NotifierSmtpConfigArgsDict']] smtp_config: SMTP config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierWebhookConfigArgs', 'NotifierWebhookConfigArgsDict']] webhook_config: Webhook config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierWechatConfigArgs', 'NotifierWechatConfigArgsDict']] wechat_config: Wechat config for notifier (list maxitems:1) """ ... @overload @@ -529,10 +529,10 @@ def __init__(__self__, cluster_id="", description="Terraform notifier acceptance test", send_resolved=True, - pagerduty_config=rancher2.NotifierPagerdutyConfigArgs( - service_key="XXXXXXXX", - proxy_url="http://proxy.test.io", - )) + pagerduty_config={ + "service_key": "XXXXXXXX", + "proxy_url": "http://proxy.test.io", + }) ``` ## Import @@ -561,16 +561,16 @@ def _internal_init(__self__, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - dingtalk_config: Optional[pulumi.Input[pulumi.InputType['NotifierDingtalkConfigArgs']]] = None, + dingtalk_config: Optional[pulumi.Input[Union['NotifierDingtalkConfigArgs', 'NotifierDingtalkConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - msteams_config: Optional[pulumi.Input[pulumi.InputType['NotifierMsteamsConfigArgs']]] = None, + msteams_config: Optional[pulumi.Input[Union['NotifierMsteamsConfigArgs', 'NotifierMsteamsConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pagerduty_config: Optional[pulumi.Input[pulumi.InputType['NotifierPagerdutyConfigArgs']]] = None, + pagerduty_config: Optional[pulumi.Input[Union['NotifierPagerdutyConfigArgs', 'NotifierPagerdutyConfigArgsDict']]] = None, send_resolved: Optional[pulumi.Input[bool]] = None, - slack_config: Optional[pulumi.Input[pulumi.InputType['NotifierSlackConfigArgs']]] = None, - smtp_config: Optional[pulumi.Input[pulumi.InputType['NotifierSmtpConfigArgs']]] = None, - webhook_config: Optional[pulumi.Input[pulumi.InputType['NotifierWebhookConfigArgs']]] = None, - wechat_config: Optional[pulumi.Input[pulumi.InputType['NotifierWechatConfigArgs']]] = None, + slack_config: Optional[pulumi.Input[Union['NotifierSlackConfigArgs', 'NotifierSlackConfigArgsDict']]] = None, + smtp_config: Optional[pulumi.Input[Union['NotifierSmtpConfigArgs', 'NotifierSmtpConfigArgsDict']]] = None, + webhook_config: Optional[pulumi.Input[Union['NotifierWebhookConfigArgs', 'NotifierWebhookConfigArgsDict']]] = None, + wechat_config: Optional[pulumi.Input[Union['NotifierWechatConfigArgs', 'NotifierWechatConfigArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -608,16 +608,16 @@ def get(resource_name: str, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, description: Optional[pulumi.Input[str]] = None, - dingtalk_config: Optional[pulumi.Input[pulumi.InputType['NotifierDingtalkConfigArgs']]] = None, + dingtalk_config: Optional[pulumi.Input[Union['NotifierDingtalkConfigArgs', 'NotifierDingtalkConfigArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - msteams_config: Optional[pulumi.Input[pulumi.InputType['NotifierMsteamsConfigArgs']]] = None, + msteams_config: Optional[pulumi.Input[Union['NotifierMsteamsConfigArgs', 'NotifierMsteamsConfigArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pagerduty_config: Optional[pulumi.Input[pulumi.InputType['NotifierPagerdutyConfigArgs']]] = None, + pagerduty_config: Optional[pulumi.Input[Union['NotifierPagerdutyConfigArgs', 'NotifierPagerdutyConfigArgsDict']]] = None, send_resolved: Optional[pulumi.Input[bool]] = None, - slack_config: Optional[pulumi.Input[pulumi.InputType['NotifierSlackConfigArgs']]] = None, - smtp_config: Optional[pulumi.Input[pulumi.InputType['NotifierSmtpConfigArgs']]] = None, - webhook_config: Optional[pulumi.Input[pulumi.InputType['NotifierWebhookConfigArgs']]] = None, - wechat_config: Optional[pulumi.Input[pulumi.InputType['NotifierWechatConfigArgs']]] = None) -> 'Notifier': + slack_config: Optional[pulumi.Input[Union['NotifierSlackConfigArgs', 'NotifierSlackConfigArgsDict']]] = None, + smtp_config: Optional[pulumi.Input[Union['NotifierSmtpConfigArgs', 'NotifierSmtpConfigArgsDict']]] = None, + webhook_config: Optional[pulumi.Input[Union['NotifierWebhookConfigArgs', 'NotifierWebhookConfigArgsDict']]] = None, + wechat_config: Optional[pulumi.Input[Union['NotifierWechatConfigArgs', 'NotifierWechatConfigArgsDict']]] = None) -> 'Notifier': """ Get an existing Notifier resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -628,16 +628,16 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for notifier object (map) :param pulumi.Input[str] cluster_id: The cluster id where create notifier (string) :param pulumi.Input[str] description: The notifier description (string) - :param pulumi.Input[pulumi.InputType['NotifierDingtalkConfigArgs']] dingtalk_config: Dingtalk config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierDingtalkConfigArgs', 'NotifierDingtalkConfigArgsDict']] dingtalk_config: Dingtalk config for notifier (list maxitems:1) :param pulumi.Input[Mapping[str, Any]] labels: Labels for notifier object (map) - :param pulumi.Input[pulumi.InputType['NotifierMsteamsConfigArgs']] msteams_config: MSTeams config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierMsteamsConfigArgs', 'NotifierMsteamsConfigArgsDict']] msteams_config: MSTeams config for notifier (list maxitems:1) :param pulumi.Input[str] name: The name of the notifier (string) - :param pulumi.Input[pulumi.InputType['NotifierPagerdutyConfigArgs']] pagerduty_config: Pagerduty config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierPagerdutyConfigArgs', 'NotifierPagerdutyConfigArgsDict']] pagerduty_config: Pagerduty config for notifier (list maxitems:1) :param pulumi.Input[bool] send_resolved: = (Optional) Enable the notifier to send resolved notifications. Default `false` (bool) - :param pulumi.Input[pulumi.InputType['NotifierSlackConfigArgs']] slack_config: Slack config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierSmtpConfigArgs']] smtp_config: SMTP config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierWebhookConfigArgs']] webhook_config: Webhook config for notifier (list maxitems:1) - :param pulumi.Input[pulumi.InputType['NotifierWechatConfigArgs']] wechat_config: Wechat config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierSlackConfigArgs', 'NotifierSlackConfigArgsDict']] slack_config: Slack config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierSmtpConfigArgs', 'NotifierSmtpConfigArgsDict']] smtp_config: SMTP config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierWebhookConfigArgs', 'NotifierWebhookConfigArgsDict']] webhook_config: Webhook config for notifier (list maxitems:1) + :param pulumi.Input[Union['NotifierWechatConfigArgs', 'NotifierWechatConfigArgsDict']] wechat_config: Wechat config for notifier (list maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/pod_security_admission_configuration_template.py b/sdk/python/pulumi_rancher2/pod_security_admission_configuration_template.py index 4290dd5ea..daa2eb0d6 100644 --- a/sdk/python/pulumi_rancher2/pod_security_admission_configuration_template.py +++ b/sdk/python/pulumi_rancher2/pod_security_admission_configuration_template.py @@ -230,9 +230,9 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - defaults: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateDefaultsArgs']]] = None, + defaults: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateDefaultsArgs', 'PodSecurityAdmissionConfigurationTemplateDefaultsArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - exemptions: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateExemptionsArgs']]] = None, + exemptions: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateExemptionsArgs', 'PodSecurityAdmissionConfigurationTemplateExemptionsArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -241,9 +241,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations of the resource - :param pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateDefaultsArgs']] defaults: defaults allows the user to define admission control mode for Pod Security + :param pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateDefaultsArgs', 'PodSecurityAdmissionConfigurationTemplateDefaultsArgsDict']] defaults: defaults allows the user to define admission control mode for Pod Security :param pulumi.Input[str] description: Pod Security Admission Configuration template description - :param pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateExemptionsArgs']] exemptions: exemptions allows the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be + :param pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateExemptionsArgs', 'PodSecurityAdmissionConfigurationTemplateExemptionsArgsDict']] exemptions: exemptions allows the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be prohibited :param pulumi.Input[Mapping[str, Any]] labels: Labels of the resource :param pulumi.Input[str] name: Pod Security Admission Configuration template name @@ -272,9 +272,9 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - defaults: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateDefaultsArgs']]] = None, + defaults: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateDefaultsArgs', 'PodSecurityAdmissionConfigurationTemplateDefaultsArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - exemptions: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateExemptionsArgs']]] = None, + exemptions: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateExemptionsArgs', 'PodSecurityAdmissionConfigurationTemplateExemptionsArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, __props__=None): @@ -305,9 +305,9 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, - defaults: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateDefaultsArgs']]] = None, + defaults: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateDefaultsArgs', 'PodSecurityAdmissionConfigurationTemplateDefaultsArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, - exemptions: Optional[pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateExemptionsArgs']]] = None, + exemptions: Optional[pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateExemptionsArgs', 'PodSecurityAdmissionConfigurationTemplateExemptionsArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None) -> 'PodSecurityAdmissionConfigurationTemplate': """ @@ -318,9 +318,9 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations of the resource - :param pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateDefaultsArgs']] defaults: defaults allows the user to define admission control mode for Pod Security + :param pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateDefaultsArgs', 'PodSecurityAdmissionConfigurationTemplateDefaultsArgsDict']] defaults: defaults allows the user to define admission control mode for Pod Security :param pulumi.Input[str] description: Pod Security Admission Configuration template description - :param pulumi.Input[pulumi.InputType['PodSecurityAdmissionConfigurationTemplateExemptionsArgs']] exemptions: exemptions allows the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be + :param pulumi.Input[Union['PodSecurityAdmissionConfigurationTemplateExemptionsArgs', 'PodSecurityAdmissionConfigurationTemplateExemptionsArgsDict']] exemptions: exemptions allows the creation of pods for specific Usernames, RuntimeClassNames, and Namespaces that would otherwise be prohibited :param pulumi.Input[Mapping[str, Any]] labels: Labels of the resource :param pulumi.Input[str] name: Pod Security Admission Configuration template name diff --git a/sdk/python/pulumi_rancher2/pod_security_policy_template.py b/sdk/python/pulumi_rancher2/pod_security_policy_template.py index aba9c42d6..91a4d7ea0 100644 --- a/sdk/python/pulumi_rancher2/pod_security_policy_template.py +++ b/sdk/python/pulumi_rancher2/pod_security_policy_template.py @@ -932,9 +932,9 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, allowed_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedCsiDriverArgs']]]]] = None, - allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]]] = None, - allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedHostPathArgs']]]]] = None, + allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedCsiDriverArgs', 'PodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]]] = None, + allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'PodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]]] = None, + allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedHostPathArgs', 'PodSecurityPolicyTemplateAllowedHostPathArgsDict']]]]] = None, allowed_proc_mount_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, allowed_unsafe_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -942,21 +942,21 @@ def __init__(__self__, default_allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, forbidden_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - fs_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateFsGroupArgs']]] = None, + fs_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateFsGroupArgs', 'PodSecurityPolicyTemplateFsGroupArgsDict']]] = None, host_ipc: Optional[pulumi.Input[bool]] = None, host_network: Optional[pulumi.Input[bool]] = None, host_pid: Optional[pulumi.Input[bool]] = None, - host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateHostPortArgs']]]]] = None, + host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateHostPortArgs', 'PodSecurityPolicyTemplateHostPortArgsDict']]]]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, privileged: Optional[pulumi.Input[bool]] = None, read_only_root_filesystem: Optional[pulumi.Input[bool]] = None, required_drop_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - run_as_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsGroupArgs']]] = None, - run_as_user: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsUserArgs']]] = None, - runtime_class: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRuntimeClassArgs']]] = None, - se_linux: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSeLinuxArgs']]] = None, - supplemental_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSupplementalGroupArgs']]] = None, + run_as_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsGroupArgs', 'PodSecurityPolicyTemplateRunAsGroupArgsDict']]] = None, + run_as_user: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsUserArgs', 'PodSecurityPolicyTemplateRunAsUserArgsDict']]] = None, + runtime_class: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRuntimeClassArgs', 'PodSecurityPolicyTemplateRuntimeClassArgsDict']]] = None, + se_linux: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSeLinuxArgs', 'PodSecurityPolicyTemplateSeLinuxArgsDict']]] = None, + supplemental_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSupplementalGroupArgs', 'PodSecurityPolicyTemplateSupplementalGroupArgsDict']]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): """ @@ -976,9 +976,9 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] allow_privilege_escalation: = (Optional) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_capabilities: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedCsiDriverArgs']]]] allowed_csi_drivers: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]] allowed_flex_volumes: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedHostPathArgs']]]] allowed_host_paths: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedCsiDriverArgs', 'PodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]] allowed_csi_drivers: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'PodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]] allowed_flex_volumes: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedHostPathArgs', 'PodSecurityPolicyTemplateAllowedHostPathArgsDict']]]] allowed_host_paths: (list) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_proc_mount_types: (list) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_unsafe_sysctls: (list) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for PodSecurityPolicyTemplate object (map) @@ -986,21 +986,21 @@ def __init__(__self__, :param pulumi.Input[bool] default_allow_privilege_escalation: (list) :param pulumi.Input[str] description: The PodSecurityPolicyTemplate description (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] forbidden_sysctls: (list) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateFsGroupArgs']] fs_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateFsGroupArgs', 'PodSecurityPolicyTemplateFsGroupArgsDict']] fs_group: (list maxitems:1) :param pulumi.Input[bool] host_ipc: (bool) :param pulumi.Input[bool] host_network: hostNetwork determines if the policy allows the use of HostNetwork in the pod spec. :param pulumi.Input[bool] host_pid: (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateHostPortArgs']]]] host_ports: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateHostPortArgs', 'PodSecurityPolicyTemplateHostPortArgsDict']]]] host_ports: (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for PodSecurityPolicyTemplate object (map) :param pulumi.Input[str] name: The name of the PodSecurityPolicyTemplate (string) :param pulumi.Input[bool] privileged: (bool) :param pulumi.Input[bool] read_only_root_filesystem: (bool) :param pulumi.Input[Sequence[pulumi.Input[str]]] required_drop_capabilities: (list) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsGroupArgs']] run_as_group: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsUserArgs']] run_as_user: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRuntimeClassArgs']] runtime_class: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSeLinuxArgs']] se_linux: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSupplementalGroupArgs']] supplemental_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRunAsGroupArgs', 'PodSecurityPolicyTemplateRunAsGroupArgsDict']] run_as_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRunAsUserArgs', 'PodSecurityPolicyTemplateRunAsUserArgsDict']] run_as_user: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRuntimeClassArgs', 'PodSecurityPolicyTemplateRuntimeClassArgsDict']] runtime_class: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateSeLinuxArgs', 'PodSecurityPolicyTemplateSeLinuxArgsDict']] se_linux: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateSupplementalGroupArgs', 'PodSecurityPolicyTemplateSupplementalGroupArgsDict']] supplemental_group: (list maxitems:1) :param pulumi.Input[Sequence[pulumi.Input[str]]] volumes: (list) """ ... @@ -1039,9 +1039,9 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, allowed_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedCsiDriverArgs']]]]] = None, - allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]]] = None, - allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedHostPathArgs']]]]] = None, + allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedCsiDriverArgs', 'PodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]]] = None, + allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'PodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]]] = None, + allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedHostPathArgs', 'PodSecurityPolicyTemplateAllowedHostPathArgsDict']]]]] = None, allowed_proc_mount_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, allowed_unsafe_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1049,21 +1049,21 @@ def _internal_init(__self__, default_allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, forbidden_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - fs_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateFsGroupArgs']]] = None, + fs_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateFsGroupArgs', 'PodSecurityPolicyTemplateFsGroupArgsDict']]] = None, host_ipc: Optional[pulumi.Input[bool]] = None, host_network: Optional[pulumi.Input[bool]] = None, host_pid: Optional[pulumi.Input[bool]] = None, - host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateHostPortArgs']]]]] = None, + host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateHostPortArgs', 'PodSecurityPolicyTemplateHostPortArgsDict']]]]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, privileged: Optional[pulumi.Input[bool]] = None, read_only_root_filesystem: Optional[pulumi.Input[bool]] = None, required_drop_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - run_as_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsGroupArgs']]] = None, - run_as_user: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsUserArgs']]] = None, - runtime_class: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRuntimeClassArgs']]] = None, - se_linux: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSeLinuxArgs']]] = None, - supplemental_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSupplementalGroupArgs']]] = None, + run_as_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsGroupArgs', 'PodSecurityPolicyTemplateRunAsGroupArgsDict']]] = None, + run_as_user: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsUserArgs', 'PodSecurityPolicyTemplateRunAsUserArgsDict']]] = None, + runtime_class: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRuntimeClassArgs', 'PodSecurityPolicyTemplateRuntimeClassArgsDict']]] = None, + se_linux: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSeLinuxArgs', 'PodSecurityPolicyTemplateSeLinuxArgsDict']]] = None, + supplemental_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSupplementalGroupArgs', 'PodSecurityPolicyTemplateSupplementalGroupArgsDict']]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -1114,9 +1114,9 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, allowed_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedCsiDriverArgs']]]]] = None, - allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]]] = None, - allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedHostPathArgs']]]]] = None, + allowed_csi_drivers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedCsiDriverArgs', 'PodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]]] = None, + allowed_flex_volumes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'PodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]]] = None, + allowed_host_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedHostPathArgs', 'PodSecurityPolicyTemplateAllowedHostPathArgsDict']]]]] = None, allowed_proc_mount_types: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, allowed_unsafe_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, @@ -1124,21 +1124,21 @@ def get(resource_name: str, default_allow_privilege_escalation: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, forbidden_sysctls: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - fs_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateFsGroupArgs']]] = None, + fs_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateFsGroupArgs', 'PodSecurityPolicyTemplateFsGroupArgsDict']]] = None, host_ipc: Optional[pulumi.Input[bool]] = None, host_network: Optional[pulumi.Input[bool]] = None, host_pid: Optional[pulumi.Input[bool]] = None, - host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateHostPortArgs']]]]] = None, + host_ports: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateHostPortArgs', 'PodSecurityPolicyTemplateHostPortArgsDict']]]]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, privileged: Optional[pulumi.Input[bool]] = None, read_only_root_filesystem: Optional[pulumi.Input[bool]] = None, required_drop_capabilities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - run_as_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsGroupArgs']]] = None, - run_as_user: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsUserArgs']]] = None, - runtime_class: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRuntimeClassArgs']]] = None, - se_linux: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSeLinuxArgs']]] = None, - supplemental_group: Optional[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSupplementalGroupArgs']]] = None, + run_as_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsGroupArgs', 'PodSecurityPolicyTemplateRunAsGroupArgsDict']]] = None, + run_as_user: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRunAsUserArgs', 'PodSecurityPolicyTemplateRunAsUserArgsDict']]] = None, + runtime_class: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateRuntimeClassArgs', 'PodSecurityPolicyTemplateRuntimeClassArgsDict']]] = None, + se_linux: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSeLinuxArgs', 'PodSecurityPolicyTemplateSeLinuxArgsDict']]] = None, + supplemental_group: Optional[pulumi.Input[Union['PodSecurityPolicyTemplateSupplementalGroupArgs', 'PodSecurityPolicyTemplateSupplementalGroupArgsDict']]] = None, volumes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'PodSecurityPolicyTemplate': """ Get an existing PodSecurityPolicyTemplate resource's state with the given name, id, and optional extra @@ -1149,9 +1149,9 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[bool] allow_privilege_escalation: = (Optional) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_capabilities: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedCsiDriverArgs']]]] allowed_csi_drivers: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedFlexVolumeArgs']]]] allowed_flex_volumes: (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateAllowedHostPathArgs']]]] allowed_host_paths: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedCsiDriverArgs', 'PodSecurityPolicyTemplateAllowedCsiDriverArgsDict']]]] allowed_csi_drivers: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedFlexVolumeArgs', 'PodSecurityPolicyTemplateAllowedFlexVolumeArgsDict']]]] allowed_flex_volumes: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateAllowedHostPathArgs', 'PodSecurityPolicyTemplateAllowedHostPathArgsDict']]]] allowed_host_paths: (list) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_proc_mount_types: (list) :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_unsafe_sysctls: (list) :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for PodSecurityPolicyTemplate object (map) @@ -1159,21 +1159,21 @@ def get(resource_name: str, :param pulumi.Input[bool] default_allow_privilege_escalation: (list) :param pulumi.Input[str] description: The PodSecurityPolicyTemplate description (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] forbidden_sysctls: (list) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateFsGroupArgs']] fs_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateFsGroupArgs', 'PodSecurityPolicyTemplateFsGroupArgsDict']] fs_group: (list maxitems:1) :param pulumi.Input[bool] host_ipc: (bool) :param pulumi.Input[bool] host_network: hostNetwork determines if the policy allows the use of HostNetwork in the pod spec. :param pulumi.Input[bool] host_pid: (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateHostPortArgs']]]] host_ports: (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['PodSecurityPolicyTemplateHostPortArgs', 'PodSecurityPolicyTemplateHostPortArgsDict']]]] host_ports: (list) :param pulumi.Input[Mapping[str, Any]] labels: Labels for PodSecurityPolicyTemplate object (map) :param pulumi.Input[str] name: The name of the PodSecurityPolicyTemplate (string) :param pulumi.Input[bool] privileged: (bool) :param pulumi.Input[bool] read_only_root_filesystem: (bool) :param pulumi.Input[Sequence[pulumi.Input[str]]] required_drop_capabilities: (list) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsGroupArgs']] run_as_group: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRunAsUserArgs']] run_as_user: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateRuntimeClassArgs']] runtime_class: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSeLinuxArgs']] se_linux: (list maxitems:1) - :param pulumi.Input[pulumi.InputType['PodSecurityPolicyTemplateSupplementalGroupArgs']] supplemental_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRunAsGroupArgs', 'PodSecurityPolicyTemplateRunAsGroupArgsDict']] run_as_group: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRunAsUserArgs', 'PodSecurityPolicyTemplateRunAsUserArgsDict']] run_as_user: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateRuntimeClassArgs', 'PodSecurityPolicyTemplateRuntimeClassArgsDict']] runtime_class: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateSeLinuxArgs', 'PodSecurityPolicyTemplateSeLinuxArgsDict']] se_linux: (list maxitems:1) + :param pulumi.Input[Union['PodSecurityPolicyTemplateSupplementalGroupArgs', 'PodSecurityPolicyTemplateSupplementalGroupArgsDict']] supplemental_group: (list maxitems:1) :param pulumi.Input[Sequence[pulumi.Input[str]]] volumes: (list) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/project.py b/sdk/python/pulumi_rancher2/project.py index 78967581b..d9398df5b 100644 --- a/sdk/python/pulumi_rancher2/project.py +++ b/sdk/python/pulumi_rancher2/project.py @@ -387,14 +387,14 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['ProjectContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['ProjectContainerResourceLimitArgs', 'ProjectContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, enable_project_monitoring: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, - project_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ProjectProjectMonitoringInputArgs']]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['ProjectResourceQuotaArgs']]] = None, + project_monitoring_input: Optional[pulumi.Input[Union['ProjectProjectMonitoringInputArgs', 'ProjectProjectMonitoringInputArgsDict']]] = None, + resource_quota: Optional[pulumi.Input[Union['ProjectResourceQuotaArgs', 'ProjectResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): """ @@ -410,24 +410,24 @@ def __init__(__self__, foo = rancher2.Project("foo", name="foo", cluster_id="", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="2000m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "2000m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ```python @@ -438,47 +438,47 @@ def __init__(__self__, foo = rancher2.Project("foo", name="foo", cluster_id="", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="2000m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - ), + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "2000m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }, enable_project_monitoring=True, - project_monitoring_input=rancher2.ProjectProjectMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + project_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - )) + }) ``` ## Import @@ -493,14 +493,14 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Pool object (map) :param pulumi.Input[str] cluster_id: The cluster id where create project (string) - :param pulumi.Input[pulumi.InputType['ProjectContainerResourceLimitArgs']] container_resource_limit: Default containers resource limits on project (List maxitem:1) + :param pulumi.Input[Union['ProjectContainerResourceLimitArgs', 'ProjectContainerResourceLimitArgsDict']] container_resource_limit: Default containers resource limits on project (List maxitem:1) :param pulumi.Input[str] description: A project description (string) :param pulumi.Input[bool] enable_project_monitoring: Enable built-in project monitoring. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the project (string) :param pulumi.Input[str] pod_security_policy_template_id: Default Pod Security Policy ID for the project (string) - :param pulumi.Input[pulumi.InputType['ProjectProjectMonitoringInputArgs']] project_monitoring_input: Project monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ProjectResourceQuotaArgs']] resource_quota: Resource quota for project. Rancher v2.1.x or higher (list maxitems:1) + :param pulumi.Input[Union['ProjectProjectMonitoringInputArgs', 'ProjectProjectMonitoringInputArgsDict']] project_monitoring_input: Project monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) + :param pulumi.Input[Union['ProjectResourceQuotaArgs', 'ProjectResourceQuotaArgsDict']] resource_quota: Resource quota for project. Rancher v2.1.x or higher (list maxitems:1) :param pulumi.Input[bool] wait_for_cluster: Wait for cluster becomes active. Default `false` (bool) """ ... @@ -522,24 +522,24 @@ def __init__(__self__, foo = rancher2.Project("foo", name="foo", cluster_id="", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="2000m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "2000m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) ``` ```python @@ -550,47 +550,47 @@ def __init__(__self__, foo = rancher2.Project("foo", name="foo", cluster_id="", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="2000m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - ), + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "2000m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }, enable_project_monitoring=True, - project_monitoring_input=rancher2.ProjectProjectMonitoringInputArgs( - answers={ - "exporter-kubelets.https": True, - "exporter-node.enabled": True, - "exporter-node.ports.metrics.port": 9796, - "exporter-node.resources.limits.cpu": "200m", - "exporter-node.resources.limits.memory": "200Mi", - "grafana.persistence.enabled": False, - "grafana.persistence.size": "10Gi", - "grafana.persistence.storageClass": "default", - "operator.resources.limits.memory": "500Mi", - "prometheus.persistence.enabled": "false", - "prometheus.persistence.size": "50Gi", - "prometheus.persistence.storageClass": "default", - "prometheus.persistent.useReleaseName": "true", - "prometheus.resources.core.limits.cpu": "1000m", - "prometheus.resources.core.limits.memory": "1500Mi", - "prometheus.resources.core.requests.cpu": "750m", - "prometheus.resources.core.requests.memory": "750Mi", - "prometheus.retention": "12h", + project_monitoring_input={ + "answers": { + "exporter_kubelets_https": True, + "exporter_node_enabled": True, + "exporter_node_ports_metrics_port": 9796, + "exporter_node_resources_limits_cpu": "200m", + "exporter_node_resources_limits_memory": "200Mi", + "grafana_persistence_enabled": False, + "grafana_persistence_size": "10Gi", + "grafana_persistence_storage_class": "default", + "operator_resources_limits_memory": "500Mi", + "prometheus_persistence_enabled": "false", + "prometheus_persistence_size": "50Gi", + "prometheus_persistence_storage_class": "default", + "prometheus_persistent_use_release_name": "true", + "prometheus_resources_core_limits_cpu": "1000m", + "prometheus_resources_core_limits_memory": "1500Mi", + "prometheus_resources_core_requests_cpu": "750m", + "prometheus_resources_core_requests_memory": "750Mi", + "prometheus_retention": "12h", }, - )) + }) ``` ## Import @@ -618,14 +618,14 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['ProjectContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['ProjectContainerResourceLimitArgs', 'ProjectContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, enable_project_monitoring: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, - project_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ProjectProjectMonitoringInputArgs']]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['ProjectResourceQuotaArgs']]] = None, + project_monitoring_input: Optional[pulumi.Input[Union['ProjectProjectMonitoringInputArgs', 'ProjectProjectMonitoringInputArgsDict']]] = None, + resource_quota: Optional[pulumi.Input[Union['ProjectResourceQuotaArgs', 'ProjectResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -661,14 +661,14 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, annotations: Optional[pulumi.Input[Mapping[str, Any]]] = None, cluster_id: Optional[pulumi.Input[str]] = None, - container_resource_limit: Optional[pulumi.Input[pulumi.InputType['ProjectContainerResourceLimitArgs']]] = None, + container_resource_limit: Optional[pulumi.Input[Union['ProjectContainerResourceLimitArgs', 'ProjectContainerResourceLimitArgsDict']]] = None, description: Optional[pulumi.Input[str]] = None, enable_project_monitoring: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, pod_security_policy_template_id: Optional[pulumi.Input[str]] = None, - project_monitoring_input: Optional[pulumi.Input[pulumi.InputType['ProjectProjectMonitoringInputArgs']]] = None, - resource_quota: Optional[pulumi.Input[pulumi.InputType['ProjectResourceQuotaArgs']]] = None, + project_monitoring_input: Optional[pulumi.Input[Union['ProjectProjectMonitoringInputArgs', 'ProjectProjectMonitoringInputArgsDict']]] = None, + resource_quota: Optional[pulumi.Input[Union['ProjectResourceQuotaArgs', 'ProjectResourceQuotaArgsDict']]] = None, wait_for_cluster: Optional[pulumi.Input[bool]] = None) -> 'Project': """ Get an existing Project resource's state with the given name, id, and optional extra @@ -679,14 +679,14 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Mapping[str, Any]] annotations: Annotations for Node Pool object (map) :param pulumi.Input[str] cluster_id: The cluster id where create project (string) - :param pulumi.Input[pulumi.InputType['ProjectContainerResourceLimitArgs']] container_resource_limit: Default containers resource limits on project (List maxitem:1) + :param pulumi.Input[Union['ProjectContainerResourceLimitArgs', 'ProjectContainerResourceLimitArgsDict']] container_resource_limit: Default containers resource limits on project (List maxitem:1) :param pulumi.Input[str] description: A project description (string) :param pulumi.Input[bool] enable_project_monitoring: Enable built-in project monitoring. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for Node Pool object (map) :param pulumi.Input[str] name: The name of the project (string) :param pulumi.Input[str] pod_security_policy_template_id: Default Pod Security Policy ID for the project (string) - :param pulumi.Input[pulumi.InputType['ProjectProjectMonitoringInputArgs']] project_monitoring_input: Project monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) - :param pulumi.Input[pulumi.InputType['ProjectResourceQuotaArgs']] resource_quota: Resource quota for project. Rancher v2.1.x or higher (list maxitems:1) + :param pulumi.Input[Union['ProjectProjectMonitoringInputArgs', 'ProjectProjectMonitoringInputArgsDict']] project_monitoring_input: Project monitoring config. Any parameter defined in [rancher-monitoring charts](https://github.com/rancher/system-charts/tree/dev/charts/rancher-monitoring) could be configured (list maxitems:1) + :param pulumi.Input[Union['ProjectResourceQuotaArgs', 'ProjectResourceQuotaArgsDict']] resource_quota: Resource quota for project. Rancher v2.1.x or higher (list maxitems:1) :param pulumi.Input[bool] wait_for_cluster: Wait for cluster becomes active. Default `false` (bool) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/project_alert_group.py b/sdk/python/pulumi_rancher2/project_alert_group.py index f5604271f..f6eff69d2 100644 --- a/sdk/python/pulumi_rancher2/project_alert_group.py +++ b/sdk/python/pulumi_rancher2/project_alert_group.py @@ -328,7 +328,7 @@ def __init__(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProjectAlertGroupRecipientArgs', 'ProjectAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, __props__=None): """ @@ -366,7 +366,7 @@ def __init__(__self__, :param pulumi.Input[Mapping[str, Any]] labels: The project alert group labels (map) :param pulumi.Input[str] name: The project alert group name (string) :param pulumi.Input[str] project_id: The project id where create project alert group (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectAlertGroupRecipientArgs']]]] recipients: The project alert group recipients (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectAlertGroupRecipientArgs', 'ProjectAlertGroupRecipientArgsDict']]]] recipients: The project alert group recipients (list) :param pulumi.Input[int] repeat_interval_seconds: The project alert group wait seconds. Default: `3600` (int) """ ... @@ -423,7 +423,7 @@ def _internal_init(__self__, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProjectAlertGroupRecipientArgs', 'ProjectAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -462,7 +462,7 @@ def get(resource_name: str, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, name: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - recipients: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectAlertGroupRecipientArgs']]]]] = None, + recipients: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProjectAlertGroupRecipientArgs', 'ProjectAlertGroupRecipientArgsDict']]]]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None) -> 'ProjectAlertGroup': """ Get an existing ProjectAlertGroup resource's state with the given name, id, and optional extra @@ -478,7 +478,7 @@ def get(resource_name: str, :param pulumi.Input[Mapping[str, Any]] labels: The project alert group labels (map) :param pulumi.Input[str] name: The project alert group name (string) :param pulumi.Input[str] project_id: The project id where create project alert group (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProjectAlertGroupRecipientArgs']]]] recipients: The project alert group recipients (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['ProjectAlertGroupRecipientArgs', 'ProjectAlertGroupRecipientArgsDict']]]] recipients: The project alert group recipients (list) :param pulumi.Input[int] repeat_interval_seconds: The project alert group wait seconds. Default: `3600` (int) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/project_alert_rule.py b/sdk/python/pulumi_rancher2/project_alert_rule.py index 1a5e49dcd..c85c45566 100644 --- a/sdk/python/pulumi_rancher2/project_alert_rule.py +++ b/sdk/python/pulumi_rancher2/project_alert_rule.py @@ -454,13 +454,13 @@ def __init__(__self__, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ProjectAlertRuleMetricRuleArgs', 'ProjectAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pod_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRulePodRuleArgs']]] = None, + pod_rule: Optional[pulumi.Input[Union['ProjectAlertRulePodRuleArgs', 'ProjectAlertRulePodRuleArgsDict']]] = None, project_id: Optional[pulumi.Input[str]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - workload_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleWorkloadRuleArgs']]] = None, + workload_rule: Optional[pulumi.Input[Union['ProjectAlertRuleWorkloadRuleArgs', 'ProjectAlertRuleWorkloadRuleArgsDict']]] = None, __props__=None): """ Provides a Rancher v2 Project Alert Rule resource. This can be used to create Project Alert Rule for Rancher v2 environments and retrieve their information. @@ -476,24 +476,24 @@ def __init__(__self__, name="foo", cluster_id="", description="Terraform project ", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="500m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "500m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) # Create a new Rancher2 Project Alert Group foo_project_alert_group = rancher2.ProjectAlertGroup("foo", name="foo", @@ -526,13 +526,13 @@ def __init__(__self__, :param pulumi.Input[int] group_wait_seconds: The project alert rule group wait seconds. Default: `180` (int) :param pulumi.Input[bool] inherited: The project alert rule inherited. Default: `true` (bool) :param pulumi.Input[Mapping[str, Any]] labels: The project alert rule labels (map) - :param pulumi.Input[pulumi.InputType['ProjectAlertRuleMetricRuleArgs']] metric_rule: The project alert rule metric rule. ConflictsWith: `"pod_rule", "workload_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRuleMetricRuleArgs', 'ProjectAlertRuleMetricRuleArgsDict']] metric_rule: The project alert rule metric rule. ConflictsWith: `"pod_rule", "workload_rule"`` (list Maxitems:1) :param pulumi.Input[str] name: The project alert rule name (string) - :param pulumi.Input[pulumi.InputType['ProjectAlertRulePodRuleArgs']] pod_rule: The project alert rule pod rule. ConflictsWith: `"metric_rule", "workload_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRulePodRuleArgs', 'ProjectAlertRulePodRuleArgsDict']] pod_rule: The project alert rule pod rule. ConflictsWith: `"metric_rule", "workload_rule"`` (list Maxitems:1) :param pulumi.Input[str] project_id: The project id where create project alert rule (string) :param pulumi.Input[int] repeat_interval_seconds: The project alert rule wait seconds. Default: `3600` (int) :param pulumi.Input[str] severity: The project alert rule severity. Supported values : `"critical" | "info" | "warning"`. Default: `critical` (string) - :param pulumi.Input[pulumi.InputType['ProjectAlertRuleWorkloadRuleArgs']] workload_rule: The project alert rule workload rule. ConflictsWith: `"metric_rule", "pod_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRuleWorkloadRuleArgs', 'ProjectAlertRuleWorkloadRuleArgsDict']] workload_rule: The project alert rule workload rule. ConflictsWith: `"metric_rule", "pod_rule"`` (list Maxitems:1) """ ... @overload @@ -554,24 +554,24 @@ def __init__(__self__, name="foo", cluster_id="", description="Terraform project ", - resource_quota=rancher2.ProjectResourceQuotaArgs( - project_limit=rancher2.ProjectResourceQuotaProjectLimitArgs( - limits_cpu="2000m", - limits_memory="2000Mi", - requests_storage="2Gi", - ), - namespace_default_limit=rancher2.ProjectResourceQuotaNamespaceDefaultLimitArgs( - limits_cpu="500m", - limits_memory="500Mi", - requests_storage="1Gi", - ), - ), - container_resource_limit=rancher2.ProjectContainerResourceLimitArgs( - limits_cpu="20m", - limits_memory="20Mi", - requests_cpu="1m", - requests_memory="1Mi", - )) + resource_quota={ + "project_limit": { + "limits_cpu": "2000m", + "limits_memory": "2000Mi", + "requests_storage": "2Gi", + }, + "namespace_default_limit": { + "limits_cpu": "500m", + "limits_memory": "500Mi", + "requests_storage": "1Gi", + }, + }, + container_resource_limit={ + "limits_cpu": "20m", + "limits_memory": "20Mi", + "requests_cpu": "1m", + "requests_memory": "1Mi", + }) # Create a new Rancher2 Project Alert Group foo_project_alert_group = rancher2.ProjectAlertGroup("foo", name="foo", @@ -617,13 +617,13 @@ def _internal_init(__self__, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ProjectAlertRuleMetricRuleArgs', 'ProjectAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pod_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRulePodRuleArgs']]] = None, + pod_rule: Optional[pulumi.Input[Union['ProjectAlertRulePodRuleArgs', 'ProjectAlertRulePodRuleArgsDict']]] = None, project_id: Optional[pulumi.Input[str]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - workload_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleWorkloadRuleArgs']]] = None, + workload_rule: Optional[pulumi.Input[Union['ProjectAlertRuleWorkloadRuleArgs', 'ProjectAlertRuleWorkloadRuleArgsDict']]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -666,13 +666,13 @@ def get(resource_name: str, group_wait_seconds: Optional[pulumi.Input[int]] = None, inherited: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, - metric_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleMetricRuleArgs']]] = None, + metric_rule: Optional[pulumi.Input[Union['ProjectAlertRuleMetricRuleArgs', 'ProjectAlertRuleMetricRuleArgsDict']]] = None, name: Optional[pulumi.Input[str]] = None, - pod_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRulePodRuleArgs']]] = None, + pod_rule: Optional[pulumi.Input[Union['ProjectAlertRulePodRuleArgs', 'ProjectAlertRulePodRuleArgsDict']]] = None, project_id: Optional[pulumi.Input[str]] = None, repeat_interval_seconds: Optional[pulumi.Input[int]] = None, severity: Optional[pulumi.Input[str]] = None, - workload_rule: Optional[pulumi.Input[pulumi.InputType['ProjectAlertRuleWorkloadRuleArgs']]] = None) -> 'ProjectAlertRule': + workload_rule: Optional[pulumi.Input[Union['ProjectAlertRuleWorkloadRuleArgs', 'ProjectAlertRuleWorkloadRuleArgsDict']]] = None) -> 'ProjectAlertRule': """ Get an existing ProjectAlertRule resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -686,13 +686,13 @@ def get(resource_name: str, :param pulumi.Input[int] group_wait_seconds: The project alert rule group wait seconds. Default: `180` (int) :param pulumi.Input[bool] inherited: The project alert rule inherited. Default: `true` (bool) :param pulumi.Input[Mapping[str, Any]] labels: The project alert rule labels (map) - :param pulumi.Input[pulumi.InputType['ProjectAlertRuleMetricRuleArgs']] metric_rule: The project alert rule metric rule. ConflictsWith: `"pod_rule", "workload_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRuleMetricRuleArgs', 'ProjectAlertRuleMetricRuleArgsDict']] metric_rule: The project alert rule metric rule. ConflictsWith: `"pod_rule", "workload_rule"`` (list Maxitems:1) :param pulumi.Input[str] name: The project alert rule name (string) - :param pulumi.Input[pulumi.InputType['ProjectAlertRulePodRuleArgs']] pod_rule: The project alert rule pod rule. ConflictsWith: `"metric_rule", "workload_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRulePodRuleArgs', 'ProjectAlertRulePodRuleArgsDict']] pod_rule: The project alert rule pod rule. ConflictsWith: `"metric_rule", "workload_rule"`` (list Maxitems:1) :param pulumi.Input[str] project_id: The project id where create project alert rule (string) :param pulumi.Input[int] repeat_interval_seconds: The project alert rule wait seconds. Default: `3600` (int) :param pulumi.Input[str] severity: The project alert rule severity. Supported values : `"critical" | "info" | "warning"`. Default: `critical` (string) - :param pulumi.Input[pulumi.InputType['ProjectAlertRuleWorkloadRuleArgs']] workload_rule: The project alert rule workload rule. ConflictsWith: `"metric_rule", "pod_rule"`` (list Maxitems:1) + :param pulumi.Input[Union['ProjectAlertRuleWorkloadRuleArgs', 'ProjectAlertRuleWorkloadRuleArgsDict']] workload_rule: The project alert rule workload rule. ConflictsWith: `"metric_rule", "pod_rule"`` (list Maxitems:1) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/registry.py b/sdk/python/pulumi_rancher2/registry.py index 701ebdfdf..0230d6bd4 100644 --- a/sdk/python/pulumi_rancher2/registry.py +++ b/sdk/python/pulumi_rancher2/registry.py @@ -262,7 +262,7 @@ def __init__(__self__, name: Optional[pulumi.Input[str]] = None, namespace_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryRegistryArgs']]]]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryRegistryArgs', 'RegistryRegistryArgsDict']]]]] = None, __props__=None): """ Provides a Rancher v2 Registry resource. This resource creates Kubernetes secrets with the type `kubernetes.io/dockerconfigjson` for authenticating against Docker registries for Rancher v2 environments and retrieving their information. @@ -282,11 +282,11 @@ def __init__(__self__, name="foo", description="Terraform registry foo", project_id="", - registries=[rancher2.RegistryRegistryArgs( - address="test.io", - username="user", - password="pass", - )]) + registries=[{ + "address": "test.io", + "username": "user", + "password": "pass", + }]) ``` ```python @@ -299,11 +299,11 @@ def __init__(__self__, description="Terraform registry foo", project_id="", namespace_id="", - registries=[rancher2.RegistryRegistryArgs( - address="test.io", - username="user2", - password="pass", - )]) + registries=[{ + "address": "test.io", + "username": "user2", + "password": "pass", + }]) ``` ## Import @@ -323,7 +323,7 @@ def __init__(__self__, :param pulumi.Input[str] name: The name of the registry (string) :param pulumi.Input[str] namespace_id: The namespace id where to assign the namespaced registry (string) :param pulumi.Input[str] project_id: The project id where to assign the registry (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryRegistryArgs']]]] registries: Registries data for registry (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryRegistryArgs', 'RegistryRegistryArgsDict']]]] registries: Registries data for registry (list) """ ... @overload @@ -349,11 +349,11 @@ def __init__(__self__, name="foo", description="Terraform registry foo", project_id="", - registries=[rancher2.RegistryRegistryArgs( - address="test.io", - username="user", - password="pass", - )]) + registries=[{ + "address": "test.io", + "username": "user", + "password": "pass", + }]) ``` ```python @@ -366,11 +366,11 @@ def __init__(__self__, description="Terraform registry foo", project_id="", namespace_id="", - registries=[rancher2.RegistryRegistryArgs( - address="test.io", - username="user2", - password="pass", - )]) + registries=[{ + "address": "test.io", + "username": "user2", + "password": "pass", + }]) ``` ## Import @@ -403,7 +403,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[str]] = None, namespace_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryRegistryArgs']]]]] = None, + registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryRegistryArgs', 'RegistryRegistryArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -440,7 +440,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[str]] = None, namespace_id: Optional[pulumi.Input[str]] = None, project_id: Optional[pulumi.Input[str]] = None, - registries: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryRegistryArgs']]]]] = None) -> 'Registry': + registries: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RegistryRegistryArgs', 'RegistryRegistryArgsDict']]]]] = None) -> 'Registry': """ Get an existing Registry resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -454,7 +454,7 @@ def get(resource_name: str, :param pulumi.Input[str] name: The name of the registry (string) :param pulumi.Input[str] namespace_id: The namespace id where to assign the namespaced registry (string) :param pulumi.Input[str] project_id: The project id where to assign the registry (string) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RegistryRegistryArgs']]]] registries: Registries data for registry (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RegistryRegistryArgs', 'RegistryRegistryArgsDict']]]] registries: Registries data for registry (list) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) diff --git a/sdk/python/pulumi_rancher2/role_template.py b/sdk/python/pulumi_rancher2/role_template.py index 18c409055..caded4906 100644 --- a/sdk/python/pulumi_rancher2/role_template.py +++ b/sdk/python/pulumi_rancher2/role_template.py @@ -472,13 +472,13 @@ def __init__(__self__, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, - external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateExternalRuleArgs', 'RoleTemplateExternalRuleArgsDict']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, role_template_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateRuleArgs']]]]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateRuleArgs', 'RoleTemplateRuleArgsDict']]]]] = None, __props__=None): """ Provides a Rancher v2 Role Template resource. This can be used to create Role Template for Rancher v2 and retrieve their information. @@ -497,11 +497,11 @@ def __init__(__self__, context="cluster", default_role=True, description="Terraform role template acceptance test", - rules=[rancher2.RoleTemplateRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ```python @@ -514,11 +514,11 @@ def __init__(__self__, context="project", default_role=True, description="Terraform role template acceptance test", - rules=[rancher2.RoleTemplateRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ## Import @@ -537,13 +537,13 @@ def __init__(__self__, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateExternalRuleArgs', 'RoleTemplateExternalRuleArgsDict']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) :param pulumi.Input[str] name: Role template name (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] role_template_ids: Inherit role template IDs (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateRuleArgs']]]] rules: Role template policy rules (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateRuleArgs', 'RoleTemplateRuleArgsDict']]]] rules: Role template policy rules (list) """ ... @overload @@ -568,11 +568,11 @@ def __init__(__self__, context="cluster", default_role=True, description="Terraform role template acceptance test", - rules=[rancher2.RoleTemplateRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ```python @@ -585,11 +585,11 @@ def __init__(__self__, context="project", default_role=True, description="Terraform role template acceptance test", - rules=[rancher2.RoleTemplateRuleArgs( - api_groups=["*"], - resources=["secrets"], - verbs=["create"], - )]) + rules=[{ + "api_groups": ["*"], + "resources": ["secrets"], + "verbs": ["create"], + }]) ``` ## Import @@ -621,13 +621,13 @@ def _internal_init(__self__, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, - external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateExternalRuleArgs', 'RoleTemplateExternalRuleArgsDict']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, role_template_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateRuleArgs']]]]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateRuleArgs', 'RoleTemplateRuleArgsDict']]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -668,13 +668,13 @@ def get(resource_name: str, default_role: Optional[pulumi.Input[bool]] = None, description: Optional[pulumi.Input[str]] = None, external: Optional[pulumi.Input[bool]] = None, - external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]]] = None, + external_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateExternalRuleArgs', 'RoleTemplateExternalRuleArgsDict']]]]] = None, hidden: Optional[pulumi.Input[bool]] = None, labels: Optional[pulumi.Input[Mapping[str, Any]]] = None, locked: Optional[pulumi.Input[bool]] = None, name: Optional[pulumi.Input[str]] = None, role_template_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None, - rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateRuleArgs']]]]] = None) -> 'RoleTemplate': + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateRuleArgs', 'RoleTemplateRuleArgsDict']]]]] = None) -> 'RoleTemplate': """ Get an existing RoleTemplate resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -689,13 +689,13 @@ def get(resource_name: str, :param pulumi.Input[bool] default_role: Default role template for new created cluster or project. Default `false` (bool) :param pulumi.Input[str] description: Role template description (string) :param pulumi.Input[bool] external: External role template. Default `false` (bool) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateExternalRuleArgs']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateExternalRuleArgs', 'RoleTemplateExternalRuleArgsDict']]]] external_rules: External rules used for authorization. This field is required when `external=true` and no underlying ClusterRole exists. (list) :param pulumi.Input[bool] hidden: Hidden role template. Default `false` (bool) :param pulumi.Input[Mapping[str, Any]] labels: Labels for role template object (map) :param pulumi.Input[bool] locked: Locked role template. Default `false` (bool) :param pulumi.Input[str] name: Role template name (string) :param pulumi.Input[Sequence[pulumi.Input[str]]] role_template_ids: Inherit role template IDs (list) - :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['RoleTemplateRuleArgs']]]] rules: Role template policy rules (list) + :param pulumi.Input[Sequence[pulumi.Input[Union['RoleTemplateRuleArgs', 'RoleTemplateRuleArgsDict']]]] rules: Role template policy rules (list) """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))