From 487a99c2c61445e4345e37c5ae3efedc8233dd8a Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Tue, 17 Mar 2026 12:34:53 +0000 Subject: [PATCH 1/2] make tfgen --- go.work.sum | 2 + .../bridge-metadata.json | 3 + .../cmd/pulumi-resource-stackit/schema.json | 140 +++++++++++++++--- provider/go.mod | 6 +- provider/go.sum | 12 +- provider/shim/go.mod | 6 +- provider/shim/go.sum | 15 +- 7 files changed, 147 insertions(+), 37 deletions(-) diff --git a/go.work.sum b/go.work.sum index 71110bd..942f268 100644 --- a/go.work.sum +++ b/go.work.sum @@ -478,6 +478,7 @@ github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d h1:AREM5mwr4u1 github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU= github.com/nxadm/tail v1.4.11 h1:8feyoE3OzPrcshW5/MJ4sGESc5cqmGkGCWlco4l0bqY= github.com/nxadm/tail v1.4.11/go.mod h1:OTaG3NK980DZzxbRq6lEuzgU+mug70nY11sMd4JXXHc= +github.com/olekukonko/ts v0.0.0-20171002115256-78ecb04241c0 h1:LiZB1h0GIcudcDci2bxbqI6DXV8bF8POAnArqvRrIyw= github.com/olekukonko/ts v0.0.0-20171002115256-78ecb04241c0/go.mod h1:F/7q8/HZz+TXjlsoZQQKVYvXTZaFH4QRa3y+j1p7MS0= github.com/pgavlin/aho-corasick v0.5.1 h1:ujv4DzpWK8G+MhoPAKYAir7znMHtcRQLDVa0cwFRvHw= github.com/pgavlin/aho-corasick v0.5.1/go.mod h1:UyKgVsAp5Un59BCpzrpFkPyETFMn1tGjdbRYvoq0l2g= @@ -507,6 +508,7 @@ github.com/prometheus/otlptranslator v1.0.0 h1:s0LJW/iN9dkIH+EnhiD3BlkkP5QVIUVEo github.com/prometheus/otlptranslator v1.0.0/go.mod h1:vRYWnXvI6aWGpsdY/mOT/cbeVRBlPWtBNDb7kGR3uKM= github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/quasilyte/go-ruleguard/dsl v0.3.23 h1:lxjt5B6ZCiBeeNO8/oQsegE6fLeCzuMRoVWSkXC4uvY= github.com/quasilyte/go-ruleguard/dsl v0.3.23/go.mod h1:KeCP03KrjuSO0H1kTuZQCWlQPulDV6YMIXmpQss17rU= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk= github.com/rogpeppe/fastuuid v1.2.0 h1:Ppwyp6VYCF1nvBTXL3trRso7mXMlRrw9ooo375wvi2s= diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 0c0869c..248e319 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -111,6 +111,9 @@ "stackit_authorization_project_role_assignment": { "current": "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment" }, + "stackit_authorization_service_account_role_assignment": { + "current": "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment" + }, "stackit_cdn_custom_domain": { "current": "stackit:index/cdnCustomDomain:CdnCustomDomain", "fields": { diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index 0a435cb..2c3a703 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -2917,6 +2917,10 @@ }, "stackit:index/SkeClusterNetwork:SkeClusterNetwork": { "properties": { + "controlPlane": { + "$ref": "#/types/stackit:index/SkeClusterNetworkControlPlane:SkeClusterNetworkControlPlane", + "description": "Control plane for the cluster.\n" + }, "id": { "type": "string", "description": "ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.\n" @@ -2926,11 +2930,28 @@ "language": { "nodejs": { "requiredOutputs": [ + "controlPlane", "id" ] } } }, + "stackit:index/SkeClusterNetworkControlPlane:SkeClusterNetworkControlPlane": { + "properties": { + "accessScope": { + "type": "string", + "description": "Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable!\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "accessScope" + ] + } + } + }, "stackit:index/SkeClusterNodePool:SkeClusterNodePool": { "properties": { "allowSystemComponents": { @@ -6605,6 +6626,10 @@ }, "stackit:index/getSkeClusterNetwork:getSkeClusterNetwork": { "properties": { + "controlPlane": { + "$ref": "#/types/stackit:index/getSkeClusterNetworkControlPlane:getSkeClusterNetworkControlPlane", + "description": "Control plane for the cluster.\n" + }, "id": { "type": "string", "description": "ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed.\n" @@ -6612,6 +6637,7 @@ }, "type": "object", "required": [ + "controlPlane", "id" ], "language": { @@ -6620,6 +6646,23 @@ } } }, + "stackit:index/getSkeClusterNetworkControlPlane:getSkeClusterNetworkControlPlane": { + "properties": { + "accessScope": { + "type": "string", + "description": "Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable!\n" + } + }, + "type": "object", + "required": [ + "accessScope" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getSkeClusterNodePool:getSkeClusterNodePool": { "properties": { "allowSystemComponents": { @@ -7684,7 +7727,7 @@ "properties": { "resourceId": { "type": "string", - "description": "folder Resource to assign the role to.\n" + "description": "Folder Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7692,7 +7735,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "required": [ @@ -7703,7 +7746,7 @@ "inputProperties": { "resourceId": { "type": "string", - "description": "folder Resource to assign the role to.\n" + "description": "Folder Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7711,7 +7754,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "requiredInputs": [ @@ -7724,7 +7767,7 @@ "properties": { "resourceId": { "type": "string", - "description": "folder Resource to assign the role to.\n" + "description": "Folder Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7732,7 +7775,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "type": "object" @@ -7743,7 +7786,7 @@ "properties": { "resourceId": { "type": "string", - "description": "organization Resource to assign the role to.\n" + "description": "Organization Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7751,7 +7794,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "required": [ @@ -7762,7 +7805,7 @@ "inputProperties": { "resourceId": { "type": "string", - "description": "organization Resource to assign the role to.\n" + "description": "Organization Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7770,7 +7813,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "requiredInputs": [ @@ -7783,7 +7826,7 @@ "properties": { "resourceId": { "type": "string", - "description": "organization Resource to assign the role to.\n" + "description": "Organization Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7791,7 +7834,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "type": "object" @@ -7892,7 +7935,7 @@ "properties": { "resourceId": { "type": "string", - "description": "project Resource to assign the role to.\n" + "description": "Project Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7900,7 +7943,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "required": [ @@ -7911,7 +7954,7 @@ "inputProperties": { "resourceId": { "type": "string", - "description": "project Resource to assign the role to.\n" + "description": "Project Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7919,7 +7962,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "requiredInputs": [ @@ -7932,7 +7975,66 @@ "properties": { "resourceId": { "type": "string", - "description": "project Resource to assign the role to.\n" + "description": "Project Resource to assign the role to.\n" + }, + "role": { + "type": "string", + "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n" + }, + "subject": { + "type": "string", + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" + } + }, + "type": "object" + } + }, + "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment": { + "description": "Service-account Role Assignment resource schema.\n\n\u003e **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the \u003cspan pulumi-lang-nodejs=\"`subject`\" pulumi-lang-dotnet=\"`Subject`\" pulumi-lang-go=\"`subject`\" pulumi-lang-python=\"`subject`\" pulumi-lang-yaml=\"`subject`\" pulumi-lang-java=\"`subject`\"\u003e`subject`\u003c/span\u003e) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs.\n\n\u003e This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_accounts\" \"ske_sa_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@ske.sa.stackit.cloud\"\n}\n\nresource \"stackit_service_account\" \"iam\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"kms\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pr_sa\" {\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n role = \"kms.admin\"\n subject = stackit_service_account.iam.email\n}\n\n// Assign the Act-As permissions to the previously created ServiceAccount.\n// The SKE ServiceAccount is now authorized to access KMS upon the behalf of stackit_service_account.iam\nresource \"stackit_authorization_service_account_role_assignment\" \"sa\" {\n resource_id = stackit_service_account.iam.service_account_id\n role = \"user\"\n subject = data.stackit_service_accounts.ske_sa_suffix.items.0.email\n}\n\n# Only use the import statement, if you want to import an existing service account assignment\nimport {\n to = stackit_authorization_service_account_assignment.sa\n id = \"${var.resource_id},${var.service_account_assignment_role},${var.service_account_assignment_subject}\"\n}\n```\n", + "properties": { + "resourceId": { + "type": "string", + "description": "Service-account Resource to assign the role to.\n" + }, + "role": { + "type": "string", + "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n" + }, + "subject": { + "type": "string", + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" + } + }, + "required": [ + "resourceId", + "role", + "subject" + ], + "inputProperties": { + "resourceId": { + "type": "string", + "description": "Service-account Resource to assign the role to.\n" + }, + "role": { + "type": "string", + "description": "Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions`\n" + }, + "subject": { + "type": "string", + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" + } + }, + "requiredInputs": [ + "resourceId", + "role", + "subject" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AuthorizationServiceAccountRoleAssignment resources.\n", + "properties": { + "resourceId": { + "type": "string", + "description": "Service-account Resource to assign the role to.\n" }, "role": { "type": "string", @@ -7940,7 +8042,7 @@ }, "subject": { "type": "string", - "description": "Identifier of user, service account or client. Usually email address or name in case of clients\n" + "description": "Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased.\n" } }, "type": "object" @@ -17067,7 +17169,7 @@ } }, "stackit:index/skeCluster:SkeCluster": { - "description": "SKE Cluster Resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e When updating \u003cspan pulumi-lang-nodejs=\"`nodePools`\" pulumi-lang-dotnet=\"`NodePools`\" pulumi-lang-go=\"`nodePools`\" pulumi-lang-python=\"`node_pools`\" pulumi-lang-yaml=\"`nodePools`\" pulumi-lang-java=\"`nodePools`\"\u003e`node_pools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n}\n\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n", + "description": "SKE Cluster Resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e When updating \u003cspan pulumi-lang-nodejs=\"`nodePools`\" pulumi-lang-dotnet=\"`NodePools`\" pulumi-lang-go=\"`nodePools`\" pulumi-lang-python=\"`node_pools`\" pulumi-lang-yaml=\"`nodePools`\" pulumi-lang-java=\"`nodePools`\"\u003e`node_pools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n network = {\n control_plane = {\n access_scope = \"PUBLIC\"\n }\n }\n}\n\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n", "properties": { "egressAddressRanges": { "type": "array", diff --git a/provider/go.mod b/provider/go.mod index 22bc29b..43e4d6f 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -175,7 +175,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.2 // indirect github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.8.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6 // indirect github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.5 // indirect github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.8 // indirect @@ -185,7 +185,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 // indirect github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6 // indirect - github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5 // indirect + github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 // indirect @@ -195,7 +195,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/sfs v0.4.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3 // indirect - github.com/stackitcloud/terraform-provider-stackit v0.86.0 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.88.0 // indirect github.com/stretchr/objx v0.5.2 // indirect github.com/teambition/rrule-go v1.8.2 // indirect github.com/teekennedy/goldmark-markdown v0.3.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 6917724..60a7381 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1402,8 +1402,8 @@ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.8.0 h1:DxrN85V73 github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.8.0/go.mod h1:ClPE4TOM1FeaJiwTXvApq4gWaSgTLq6nU3PPHAIQDN4= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6 h1:4x30lC+YBmo7XpsAzTn0W+C/oP5flnLVgIh5u3O/P0o= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6/go.mod h1:ewaYUiZcBTSS6urE5zEJBPCqxu70w2IjnBHCvnKdFKE= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 h1:vr4atxFRT+EL+DqONMT5R44f7AzEMbePa9U7PEE0THU= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2/go.mod h1:CAPsiTX7osAImfrG5RnIjaJ/Iz3QpoBKuH2fS346wuQ= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0 h1:+DD31EGej4/dOKHVNwvPJN4Fc6FaDJ9b3zCkI6T0Dxs= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0/go.mod h1:R+ct2jIl0VSwZJ5NF4wbh3IFr5AvdcHmQaytksDHu2I= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6 h1:Y/byRjX2u/OZl0gKS/Rau6ob2bDyv26xnw6A6JNkKJk= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6/go.mod h1:sY66ZgCgBc1mScPV95ek5WtUEGYizdP1RMsGaqbdbhw= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.5 h1:nT/H4WvYaMKWtoE1QtXGuKjlmh7FW+efG3xElRsJhsI= @@ -1422,8 +1422,8 @@ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0 h1:/8lmviszgrB+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0/go.mod h1:hnhvlLX1Y71R8KIQqLBeoSZqkU5ZJOG0J4wz0LeUdaw= github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6 h1:CXM9cZ9WeTyJd+Aw/hnJnDsKRVAQi4qgtd0RJ3zoPwo= github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6/go.mod h1:KJNceOHRefjku1oVBoHG7idCS/SeW42WJ+55bN3AxrQ= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5 h1:MZ5aTO2NQ1Jecmi67ByGskve5nKXHl91fE+z+vFjxt4= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5/go.mod h1:CJLmdqWvJm5/3+lXPDKu8k4WXs2UG8euGoqQX5xE79k= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0 h1:OcjYHjTsKLlOz8GF2owYdJK0cUqGGzjHRQLYUH0vMnQ= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0/go.mod h1:jiPIzF8lcm5Dx0TkDK2CBgeRBHSRUqwyX+z/zqo1bes= github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3 h1:ZM3V8ON60jbQuSQsXP+7pdw7uleGfNYrM2dc/mNob9Y= github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3/go.mod h1:VYD+ErIhDLulexh3vpDTRhPTYQVoVfyW8DPD79Q8I+s= github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 h1:3hZSg3z+4AXa5LbR2Vl38VmSA83ABItE63E53LuyWv8= @@ -1442,8 +1442,8 @@ github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 h1:l1QjxW7sdE/6B6BZtH github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0/go.mod h1:1Jr+ImrmPERxbYnlTy6O2aSZYNnREf2qQyysv6YC1RY= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3 h1:AQrcr+qeIuZob+3TT2q1L4WOPtpsu5SEpkTnOUHDqfE= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3/go.mod h1:8BBGC69WFXWWmKgzSjgE4HvsI7pEgO0RN2cASwuPJ18= -github.com/stackitcloud/terraform-provider-stackit v0.86.0 h1:FlY3aS1ZrKiVvC92rihLb0WEUDlqbobrKamka96BwxQ= -github.com/stackitcloud/terraform-provider-stackit v0.86.0/go.mod h1:WAvr2EYyNfoS03LYhKAwIXCLZgmU29f/tq/XhVRZu0M= +github.com/stackitcloud/terraform-provider-stackit v0.88.0 h1:fhnvjgqnvkjFdXdgIWay+TcjetxEsqx5l+7bp3UYYvg= +github.com/stackitcloud/terraform-provider-stackit v0.88.0/go.mod h1:7TWtLYoKVRN0U2oonbDCqoUWeTkSlBfGTkb3cAQYnpc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index e9dfd52..da44f6b 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -2,7 +2,7 @@ module github.com/stackitcloud/pulumi-stackit/provider/shim go 1.25.0 -require github.com/stackitcloud/terraform-provider-stackit v0.86.0 +require github.com/stackitcloud/terraform-provider-stackit v0.88.0 require ( github.com/hashicorp/go-uuid v1.0.3 // indirect @@ -10,7 +10,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/alb v0.9.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/sfs v0.4.0 // indirect github.com/stretchr/testify v1.11.1 // indirect @@ -50,7 +50,7 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.5 // indirect github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6 // indirect - github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5 // indirect + github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.8 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.6 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 9beb975..1dfa022 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -35,6 +35,7 @@ github.com/hashicorp/go-retryablehttp v0.7.7/go.mod h1:pkQpWZeYWskR+D1tR2O5OcBFO github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= +github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/hc-install v0.9.2 h1:v80EtNX4fCVHqzL9Lg/2xkp62bbvQMnvPQ0G+OmtO24= github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQxvE= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= @@ -103,8 +104,8 @@ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.8.0 h1:DxrN85V73 github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.8.0/go.mod h1:ClPE4TOM1FeaJiwTXvApq4gWaSgTLq6nU3PPHAIQDN4= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6 h1:4x30lC+YBmo7XpsAzTn0W+C/oP5flnLVgIh5u3O/P0o= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.6/go.mod h1:ewaYUiZcBTSS6urE5zEJBPCqxu70w2IjnBHCvnKdFKE= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2 h1:vr4atxFRT+EL+DqONMT5R44f7AzEMbePa9U7PEE0THU= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.2/go.mod h1:CAPsiTX7osAImfrG5RnIjaJ/Iz3QpoBKuH2fS346wuQ= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0 h1:+DD31EGej4/dOKHVNwvPJN4Fc6FaDJ9b3zCkI6T0Dxs= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.6.0/go.mod h1:R+ct2jIl0VSwZJ5NF4wbh3IFr5AvdcHmQaytksDHu2I= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6 h1:Y/byRjX2u/OZl0gKS/Rau6ob2bDyv26xnw6A6JNkKJk= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.6/go.mod h1:sY66ZgCgBc1mScPV95ek5WtUEGYizdP1RMsGaqbdbhw= github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.5 h1:nT/H4WvYaMKWtoE1QtXGuKjlmh7FW+efG3xElRsJhsI= @@ -123,8 +124,8 @@ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0 h1:/8lmviszgrB+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.26.0/go.mod h1:hnhvlLX1Y71R8KIQqLBeoSZqkU5ZJOG0J4wz0LeUdaw= github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6 h1:CXM9cZ9WeTyJd+Aw/hnJnDsKRVAQi4qgtd0RJ3zoPwo= github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.6/go.mod h1:KJNceOHRefjku1oVBoHG7idCS/SeW42WJ+55bN3AxrQ= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5 h1:MZ5aTO2NQ1Jecmi67ByGskve5nKXHl91fE+z+vFjxt4= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.5/go.mod h1:CJLmdqWvJm5/3+lXPDKu8k4WXs2UG8euGoqQX5xE79k= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0 h1:OcjYHjTsKLlOz8GF2owYdJK0cUqGGzjHRQLYUH0vMnQ= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.19.0/go.mod h1:jiPIzF8lcm5Dx0TkDK2CBgeRBHSRUqwyX+z/zqo1bes= github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3 h1:ZM3V8ON60jbQuSQsXP+7pdw7uleGfNYrM2dc/mNob9Y= github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.3/go.mod h1:VYD+ErIhDLulexh3vpDTRhPTYQVoVfyW8DPD79Q8I+s= github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.3 h1:3hZSg3z+4AXa5LbR2Vl38VmSA83ABItE63E53LuyWv8= @@ -143,8 +144,8 @@ github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0 h1:l1QjxW7sdE/6B6BZtH github.com/stackitcloud/stackit-sdk-go/services/ske v1.7.0/go.mod h1:1Jr+ImrmPERxbYnlTy6O2aSZYNnREf2qQyysv6YC1RY= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3 h1:AQrcr+qeIuZob+3TT2q1L4WOPtpsu5SEpkTnOUHDqfE= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.3/go.mod h1:8BBGC69WFXWWmKgzSjgE4HvsI7pEgO0RN2cASwuPJ18= -github.com/stackitcloud/terraform-provider-stackit v0.86.0 h1:FlY3aS1ZrKiVvC92rihLb0WEUDlqbobrKamka96BwxQ= -github.com/stackitcloud/terraform-provider-stackit v0.86.0/go.mod h1:WAvr2EYyNfoS03LYhKAwIXCLZgmU29f/tq/XhVRZu0M= +github.com/stackitcloud/terraform-provider-stackit v0.88.0 h1:fhnvjgqnvkjFdXdgIWay+TcjetxEsqx5l+7bp3UYYvg= +github.com/stackitcloud/terraform-provider-stackit v0.88.0/go.mod h1:7TWtLYoKVRN0U2oonbDCqoUWeTkSlBfGTkb3cAQYnpc= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= @@ -164,6 +165,7 @@ golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVo golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -179,6 +181,7 @@ golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 h1:ggcbiqK8WWh6l1dnltU4BgWGIGo+EVYxCaAPih/zQXQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY= google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= From 5700d89436d70eab11b364fcbfcec10677a32873 Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Tue, 17 Mar 2026 12:35:45 +0000 Subject: [PATCH 2/2] make generate_sdks --- .../AuthorizationFolderRoleAssignment.cs | 12 +- ...AuthorizationOrganizationRoleAssignment.cs | 12 +- .../AuthorizationProjectRoleAssignment.cs | 12 +- ...thorizationServiceAccountRoleAssignment.cs | 138 +++++++++ sdk/dotnet/Inputs/SkeClusterNetworkArgs.cs | 6 + .../SkeClusterNetworkControlPlaneArgs.cs | 26 ++ .../SkeClusterNetworkControlPlaneGetArgs.cs | 26 ++ sdk/dotnet/Inputs/SkeClusterNetworkGetArgs.cs | 6 + .../GetSkeClusterNetworkControlPlaneResult.cs | 27 ++ .../Outputs/GetSkeClusterNetworkResult.cs | 10 +- sdk/dotnet/Outputs/SkeClusterNetwork.cs | 10 +- .../Outputs/SkeClusterNetworkControlPlane.cs | 27 ++ .../authorizationFolderRoleAssignment.go | 24 +- ...authorizationOrganizationRoleAssignment.go | 24 +- .../authorizationProjectRoleAssignment.go | 24 +- ...thorizationServiceAccountRoleAssignment.go | 261 +++++++++++++++++ sdk/go/stackit/init.go | 7 + sdk/go/stackit/pulumiTypes.go | 223 +++++++++++++++ .../authorizationFolderRoleAssignment.ts | 12 +- ...authorizationOrganizationRoleAssignment.ts | 12 +- .../authorizationProjectRoleAssignment.ts | 12 +- ...thorizationServiceAccountRoleAssignment.ts | 127 +++++++++ sdk/nodejs/index.ts | 8 + sdk/nodejs/tsconfig.json | 1 + sdk/nodejs/types/input.ts | 11 + sdk/nodejs/types/output.ts | 22 ++ sdk/python/pulumi_stackit/__init__.py | 9 + sdk/python/pulumi_stackit/_inputs.py | 51 ++++ .../authorization_folder_role_assignment.py | 28 +- ...horization_organization_role_assignment.py | 28 +- .../authorization_project_role_assignment.py | 28 +- ...ization_service_account_role_assignment.py | 264 ++++++++++++++++++ sdk/python/pulumi_stackit/outputs.py | 96 +++++++ 33 files changed, 1468 insertions(+), 116 deletions(-) create mode 100644 sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs create mode 100644 sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs create mode 100644 sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs create mode 100644 sdk/dotnet/Outputs/GetSkeClusterNetworkControlPlaneResult.cs create mode 100644 sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs create mode 100644 sdk/go/stackit/authorizationServiceAccountRoleAssignment.go create mode 100644 sdk/nodejs/authorizationServiceAccountRoleAssignment.ts create mode 100644 sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py diff --git a/sdk/dotnet/AuthorizationFolderRoleAssignment.cs b/sdk/dotnet/AuthorizationFolderRoleAssignment.cs index 9f81b97..1073803 100644 --- a/sdk/dotnet/AuthorizationFolderRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationFolderRoleAssignment.cs @@ -20,7 +20,7 @@ namespace Pulumi.Stackit public partial class AuthorizationFolderRoleAssignment : global::Pulumi.CustomResource { /// - /// folder Resource to assign the role to. + /// Folder Resource to assign the role to. /// [Output("resourceId")] public Output ResourceId { get; private set; } = null!; @@ -32,7 +32,7 @@ public partial class AuthorizationFolderRoleAssignment : global::Pulumi.CustomRe public Output Role { get; private set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Output("subject")] public Output Subject { get; private set; } = null!; @@ -85,7 +85,7 @@ public static AuthorizationFolderRoleAssignment Get(string name, Input i public sealed class AuthorizationFolderRoleAssignmentArgs : global::Pulumi.ResourceArgs { /// - /// folder Resource to assign the role to. + /// Folder Resource to assign the role to. /// [Input("resourceId", required: true)] public Input ResourceId { get; set; } = null!; @@ -97,7 +97,7 @@ public sealed class AuthorizationFolderRoleAssignmentArgs : global::Pulumi.Resou public Input Role { get; set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject", required: true)] public Input Subject { get; set; } = null!; @@ -111,7 +111,7 @@ public AuthorizationFolderRoleAssignmentArgs() public sealed class AuthorizationFolderRoleAssignmentState : global::Pulumi.ResourceArgs { /// - /// folder Resource to assign the role to. + /// Folder Resource to assign the role to. /// [Input("resourceId")] public Input? ResourceId { get; set; } @@ -123,7 +123,7 @@ public sealed class AuthorizationFolderRoleAssignmentState : global::Pulumi.Reso public Input? Role { get; set; } /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject")] public Input? Subject { get; set; } diff --git a/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs b/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs index 5f1d272..df3c63a 100644 --- a/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationOrganizationRoleAssignment.cs @@ -20,7 +20,7 @@ namespace Pulumi.Stackit public partial class AuthorizationOrganizationRoleAssignment : global::Pulumi.CustomResource { /// - /// organization Resource to assign the role to. + /// Organization Resource to assign the role to. /// [Output("resourceId")] public Output ResourceId { get; private set; } = null!; @@ -32,7 +32,7 @@ public partial class AuthorizationOrganizationRoleAssignment : global::Pulumi.Cu public Output Role { get; private set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Output("subject")] public Output Subject { get; private set; } = null!; @@ -85,7 +85,7 @@ public static AuthorizationOrganizationRoleAssignment Get(string name, Input - /// organization Resource to assign the role to. + /// Organization Resource to assign the role to. /// [Input("resourceId", required: true)] public Input ResourceId { get; set; } = null!; @@ -97,7 +97,7 @@ public sealed class AuthorizationOrganizationRoleAssignmentArgs : global::Pulumi public Input Role { get; set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject", required: true)] public Input Subject { get; set; } = null!; @@ -111,7 +111,7 @@ public AuthorizationOrganizationRoleAssignmentArgs() public sealed class AuthorizationOrganizationRoleAssignmentState : global::Pulumi.ResourceArgs { /// - /// organization Resource to assign the role to. + /// Organization Resource to assign the role to. /// [Input("resourceId")] public Input? ResourceId { get; set; } @@ -123,7 +123,7 @@ public sealed class AuthorizationOrganizationRoleAssignmentState : global::Pulum public Input? Role { get; set; } /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject")] public Input? Subject { get; set; } diff --git a/sdk/dotnet/AuthorizationProjectRoleAssignment.cs b/sdk/dotnet/AuthorizationProjectRoleAssignment.cs index 1ce3033..ca9f24f 100644 --- a/sdk/dotnet/AuthorizationProjectRoleAssignment.cs +++ b/sdk/dotnet/AuthorizationProjectRoleAssignment.cs @@ -20,7 +20,7 @@ namespace Pulumi.Stackit public partial class AuthorizationProjectRoleAssignment : global::Pulumi.CustomResource { /// - /// project Resource to assign the role to. + /// Project Resource to assign the role to. /// [Output("resourceId")] public Output ResourceId { get; private set; } = null!; @@ -32,7 +32,7 @@ public partial class AuthorizationProjectRoleAssignment : global::Pulumi.CustomR public Output Role { get; private set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Output("subject")] public Output Subject { get; private set; } = null!; @@ -85,7 +85,7 @@ public static AuthorizationProjectRoleAssignment Get(string name, Input public sealed class AuthorizationProjectRoleAssignmentArgs : global::Pulumi.ResourceArgs { /// - /// project Resource to assign the role to. + /// Project Resource to assign the role to. /// [Input("resourceId", required: true)] public Input ResourceId { get; set; } = null!; @@ -97,7 +97,7 @@ public sealed class AuthorizationProjectRoleAssignmentArgs : global::Pulumi.Reso public Input Role { get; set; } = null!; /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject", required: true)] public Input Subject { get; set; } = null!; @@ -111,7 +111,7 @@ public AuthorizationProjectRoleAssignmentArgs() public sealed class AuthorizationProjectRoleAssignmentState : global::Pulumi.ResourceArgs { /// - /// project Resource to assign the role to. + /// Project Resource to assign the role to. /// [Input("resourceId")] public Input? ResourceId { get; set; } @@ -123,7 +123,7 @@ public sealed class AuthorizationProjectRoleAssignmentState : global::Pulumi.Res public Input? Role { get; set; } /// - /// Identifier of user, service account or client. Usually email address or name in case of clients + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. /// [Input("subject")] public Input? Subject { get; set; } diff --git a/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs b/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs new file mode 100644 index 0000000..fbd645d --- /dev/null +++ b/sdk/dotnet/AuthorizationServiceAccountRoleAssignment.cs @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit +{ + /// + /// Service-account Role Assignment resource schema. + /// + /// > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `Subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. + /// + /// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment")] + public partial class AuthorizationServiceAccountRoleAssignment : global::Pulumi.CustomResource + { + /// + /// Service-account Resource to assign the role to. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + /// + [Output("role")] + public Output Role { get; private set; } = null!; + + /// + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + /// + [Output("subject")] + public Output Subject { get; private set; } = null!; + + + /// + /// Create a AuthorizationServiceAccountRoleAssignment resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public AuthorizationServiceAccountRoleAssignment(string name, AuthorizationServiceAccountRoleAssignmentArgs args, CustomResourceOptions? options = null) + : base("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment", name, args ?? new AuthorizationServiceAccountRoleAssignmentArgs(), MakeResourceOptions(options, "")) + { + } + + private AuthorizationServiceAccountRoleAssignment(string name, Input id, AuthorizationServiceAccountRoleAssignmentState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing AuthorizationServiceAccountRoleAssignment resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static AuthorizationServiceAccountRoleAssignment Get(string name, Input id, AuthorizationServiceAccountRoleAssignmentState? state = null, CustomResourceOptions? options = null) + { + return new AuthorizationServiceAccountRoleAssignment(name, id, state, options); + } + } + + public sealed class AuthorizationServiceAccountRoleAssignmentArgs : global::Pulumi.ResourceArgs + { + /// + /// Service-account Resource to assign the role to. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + /// + [Input("role", required: true)] + public Input Role { get; set; } = null!; + + /// + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + /// + [Input("subject", required: true)] + public Input Subject { get; set; } = null!; + + public AuthorizationServiceAccountRoleAssignmentArgs() + { + } + public static new AuthorizationServiceAccountRoleAssignmentArgs Empty => new AuthorizationServiceAccountRoleAssignmentArgs(); + } + + public sealed class AuthorizationServiceAccountRoleAssignmentState : global::Pulumi.ResourceArgs + { + /// + /// Service-account Resource to assign the role to. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + /// + [Input("role")] + public Input? Role { get; set; } + + /// + /// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + /// + [Input("subject")] + public Input? Subject { get; set; } + + public AuthorizationServiceAccountRoleAssignmentState() + { + } + public static new AuthorizationServiceAccountRoleAssignmentState Empty => new AuthorizationServiceAccountRoleAssignmentState(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkArgs.cs index b020372..7d23b96 100644 --- a/sdk/dotnet/Inputs/SkeClusterNetworkArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNetworkArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterNetworkArgs : global::Pulumi.ResourceArgs { + /// + /// Control plane for the cluster. + /// + [Input("controlPlane")] + public Input? ControlPlane { get; set; } + /// /// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. /// diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs new file mode 100644 index 0000000..ff553b2 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterNetworkControlPlaneArgs : global::Pulumi.ResourceArgs + { + /// + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// + [Input("accessScope")] + public Input? AccessScope { get; set; } + + public SkeClusterNetworkControlPlaneArgs() + { + } + public static new SkeClusterNetworkControlPlaneArgs Empty => new SkeClusterNetworkControlPlaneArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs new file mode 100644 index 0000000..17bdc58 --- /dev/null +++ b/sdk/dotnet/Inputs/SkeClusterNetworkControlPlaneGetArgs.cs @@ -0,0 +1,26 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class SkeClusterNetworkControlPlaneGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// + [Input("accessScope")] + public Input? AccessScope { get; set; } + + public SkeClusterNetworkControlPlaneGetArgs() + { + } + public static new SkeClusterNetworkControlPlaneGetArgs Empty => new SkeClusterNetworkControlPlaneGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterNetworkGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterNetworkGetArgs.cs index df10b6b..150a0c4 100644 --- a/sdk/dotnet/Inputs/SkeClusterNetworkGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNetworkGetArgs.cs @@ -12,6 +12,12 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterNetworkGetArgs : global::Pulumi.ResourceArgs { + /// + /// Control plane for the cluster. + /// + [Input("controlPlane")] + public Input? ControlPlane { get; set; } + /// /// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. /// diff --git a/sdk/dotnet/Outputs/GetSkeClusterNetworkControlPlaneResult.cs b/sdk/dotnet/Outputs/GetSkeClusterNetworkControlPlaneResult.cs new file mode 100644 index 0000000..bba6cdc --- /dev/null +++ b/sdk/dotnet/Outputs/GetSkeClusterNetworkControlPlaneResult.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetSkeClusterNetworkControlPlaneResult + { + /// + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// + public readonly string AccessScope; + + [OutputConstructor] + private GetSkeClusterNetworkControlPlaneResult(string accessScope) + { + AccessScope = accessScope; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSkeClusterNetworkResult.cs b/sdk/dotnet/Outputs/GetSkeClusterNetworkResult.cs index f102497..5ae4aa6 100644 --- a/sdk/dotnet/Outputs/GetSkeClusterNetworkResult.cs +++ b/sdk/dotnet/Outputs/GetSkeClusterNetworkResult.cs @@ -13,14 +13,22 @@ namespace Pulumi.Stackit.Outputs [OutputType] public sealed class GetSkeClusterNetworkResult { + /// + /// Control plane for the cluster. + /// + public readonly Outputs.GetSkeClusterNetworkControlPlaneResult ControlPlane; /// /// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. /// public readonly string Id; [OutputConstructor] - private GetSkeClusterNetworkResult(string id) + private GetSkeClusterNetworkResult( + Outputs.GetSkeClusterNetworkControlPlaneResult controlPlane, + + string id) { + ControlPlane = controlPlane; Id = id; } } diff --git a/sdk/dotnet/Outputs/SkeClusterNetwork.cs b/sdk/dotnet/Outputs/SkeClusterNetwork.cs index cc2b44b..0965b93 100644 --- a/sdk/dotnet/Outputs/SkeClusterNetwork.cs +++ b/sdk/dotnet/Outputs/SkeClusterNetwork.cs @@ -13,14 +13,22 @@ namespace Pulumi.Stackit.Outputs [OutputType] public sealed class SkeClusterNetwork { + /// + /// Control plane for the cluster. + /// + public readonly Outputs.SkeClusterNetworkControlPlane? ControlPlane; /// /// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. /// public readonly string? Id; [OutputConstructor] - private SkeClusterNetwork(string? id) + private SkeClusterNetwork( + Outputs.SkeClusterNetworkControlPlane? controlPlane, + + string? id) { + ControlPlane = controlPlane; Id = id; } } diff --git a/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs b/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs new file mode 100644 index 0000000..4c8a3f9 --- /dev/null +++ b/sdk/dotnet/Outputs/SkeClusterNetworkControlPlane.cs @@ -0,0 +1,27 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class SkeClusterNetworkControlPlane + { + /// + /// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + /// + public readonly string? AccessScope; + + [OutputConstructor] + private SkeClusterNetworkControlPlane(string? accessScope) + { + AccessScope = accessScope; + } + } +} diff --git a/sdk/go/stackit/authorizationFolderRoleAssignment.go b/sdk/go/stackit/authorizationFolderRoleAssignment.go index d1d6d47..efd90da 100644 --- a/sdk/go/stackit/authorizationFolderRoleAssignment.go +++ b/sdk/go/stackit/authorizationFolderRoleAssignment.go @@ -20,11 +20,11 @@ import ( type AuthorizationFolderRoleAssignment struct { pulumi.CustomResourceState - // folder Resource to assign the role to. + // Folder Resource to assign the role to. ResourceId pulumi.StringOutput `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringOutput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringOutput `pulumi:"subject"` } @@ -67,20 +67,20 @@ func GetAuthorizationFolderRoleAssignment(ctx *pulumi.Context, // Input properties used for looking up and filtering AuthorizationFolderRoleAssignment resources. type authorizationFolderRoleAssignmentState struct { - // folder Resource to assign the role to. + // Folder Resource to assign the role to. ResourceId *string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role *string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject *string `pulumi:"subject"` } type AuthorizationFolderRoleAssignmentState struct { - // folder Resource to assign the role to. + // Folder Resource to assign the role to. ResourceId pulumi.StringPtrInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringPtrInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringPtrInput } @@ -89,21 +89,21 @@ func (AuthorizationFolderRoleAssignmentState) ElementType() reflect.Type { } type authorizationFolderRoleAssignmentArgs struct { - // folder Resource to assign the role to. + // Folder Resource to assign the role to. ResourceId string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject string `pulumi:"subject"` } // The set of arguments for constructing a AuthorizationFolderRoleAssignment resource. type AuthorizationFolderRoleAssignmentArgs struct { - // folder Resource to assign the role to. + // Folder Resource to assign the role to. ResourceId pulumi.StringInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringInput } @@ -194,7 +194,7 @@ func (o AuthorizationFolderRoleAssignmentOutput) ToAuthorizationFolderRoleAssign return o } -// folder Resource to assign the role to. +// Folder Resource to assign the role to. func (o AuthorizationFolderRoleAssignmentOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationFolderRoleAssignment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } @@ -204,7 +204,7 @@ func (o AuthorizationFolderRoleAssignmentOutput) Role() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationFolderRoleAssignment) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients +// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. func (o AuthorizationFolderRoleAssignmentOutput) Subject() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationFolderRoleAssignment) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/authorizationOrganizationRoleAssignment.go b/sdk/go/stackit/authorizationOrganizationRoleAssignment.go index 1694c02..49f91b1 100644 --- a/sdk/go/stackit/authorizationOrganizationRoleAssignment.go +++ b/sdk/go/stackit/authorizationOrganizationRoleAssignment.go @@ -20,11 +20,11 @@ import ( type AuthorizationOrganizationRoleAssignment struct { pulumi.CustomResourceState - // organization Resource to assign the role to. + // Organization Resource to assign the role to. ResourceId pulumi.StringOutput `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringOutput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringOutput `pulumi:"subject"` } @@ -67,20 +67,20 @@ func GetAuthorizationOrganizationRoleAssignment(ctx *pulumi.Context, // Input properties used for looking up and filtering AuthorizationOrganizationRoleAssignment resources. type authorizationOrganizationRoleAssignmentState struct { - // organization Resource to assign the role to. + // Organization Resource to assign the role to. ResourceId *string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role *string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject *string `pulumi:"subject"` } type AuthorizationOrganizationRoleAssignmentState struct { - // organization Resource to assign the role to. + // Organization Resource to assign the role to. ResourceId pulumi.StringPtrInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringPtrInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringPtrInput } @@ -89,21 +89,21 @@ func (AuthorizationOrganizationRoleAssignmentState) ElementType() reflect.Type { } type authorizationOrganizationRoleAssignmentArgs struct { - // organization Resource to assign the role to. + // Organization Resource to assign the role to. ResourceId string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject string `pulumi:"subject"` } // The set of arguments for constructing a AuthorizationOrganizationRoleAssignment resource. type AuthorizationOrganizationRoleAssignmentArgs struct { - // organization Resource to assign the role to. + // Organization Resource to assign the role to. ResourceId pulumi.StringInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringInput } @@ -194,7 +194,7 @@ func (o AuthorizationOrganizationRoleAssignmentOutput) ToAuthorizationOrganizati return o } -// organization Resource to assign the role to. +// Organization Resource to assign the role to. func (o AuthorizationOrganizationRoleAssignmentOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationOrganizationRoleAssignment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } @@ -204,7 +204,7 @@ func (o AuthorizationOrganizationRoleAssignmentOutput) Role() pulumi.StringOutpu return o.ApplyT(func(v *AuthorizationOrganizationRoleAssignment) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients +// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. func (o AuthorizationOrganizationRoleAssignmentOutput) Subject() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationOrganizationRoleAssignment) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/authorizationProjectRoleAssignment.go b/sdk/go/stackit/authorizationProjectRoleAssignment.go index d5537f9..def574f 100644 --- a/sdk/go/stackit/authorizationProjectRoleAssignment.go +++ b/sdk/go/stackit/authorizationProjectRoleAssignment.go @@ -20,11 +20,11 @@ import ( type AuthorizationProjectRoleAssignment struct { pulumi.CustomResourceState - // project Resource to assign the role to. + // Project Resource to assign the role to. ResourceId pulumi.StringOutput `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringOutput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringOutput `pulumi:"subject"` } @@ -67,20 +67,20 @@ func GetAuthorizationProjectRoleAssignment(ctx *pulumi.Context, // Input properties used for looking up and filtering AuthorizationProjectRoleAssignment resources. type authorizationProjectRoleAssignmentState struct { - // project Resource to assign the role to. + // Project Resource to assign the role to. ResourceId *string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role *string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject *string `pulumi:"subject"` } type AuthorizationProjectRoleAssignmentState struct { - // project Resource to assign the role to. + // Project Resource to assign the role to. ResourceId pulumi.StringPtrInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringPtrInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringPtrInput } @@ -89,21 +89,21 @@ func (AuthorizationProjectRoleAssignmentState) ElementType() reflect.Type { } type authorizationProjectRoleAssignmentArgs struct { - // project Resource to assign the role to. + // Project Resource to assign the role to. ResourceId string `pulumi:"resourceId"` // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject string `pulumi:"subject"` } // The set of arguments for constructing a AuthorizationProjectRoleAssignment resource. type AuthorizationProjectRoleAssignmentArgs struct { - // project Resource to assign the role to. + // Project Resource to assign the role to. ResourceId pulumi.StringInput // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` Role pulumi.StringInput - // Identifier of user, service account or client. Usually email address or name in case of clients + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. Subject pulumi.StringInput } @@ -194,7 +194,7 @@ func (o AuthorizationProjectRoleAssignmentOutput) ToAuthorizationProjectRoleAssi return o } -// project Resource to assign the role to. +// Project Resource to assign the role to. func (o AuthorizationProjectRoleAssignmentOutput) ResourceId() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationProjectRoleAssignment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) } @@ -204,7 +204,7 @@ func (o AuthorizationProjectRoleAssignmentOutput) Role() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationProjectRoleAssignment) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients +// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. func (o AuthorizationProjectRoleAssignmentOutput) Subject() pulumi.StringOutput { return o.ApplyT(func(v *AuthorizationProjectRoleAssignment) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go b/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go new file mode 100644 index 0000000..87fa078 --- /dev/null +++ b/sdk/go/stackit/authorizationServiceAccountRoleAssignment.go @@ -0,0 +1,261 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Service-account Role Assignment resource schema. +// +// > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. +// +// > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +type AuthorizationServiceAccountRoleAssignment struct { + pulumi.CustomResourceState + + // Service-account Resource to assign the role to. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + Role pulumi.StringOutput `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + Subject pulumi.StringOutput `pulumi:"subject"` +} + +// NewAuthorizationServiceAccountRoleAssignment registers a new resource with the given unique name, arguments, and options. +func NewAuthorizationServiceAccountRoleAssignment(ctx *pulumi.Context, + name string, args *AuthorizationServiceAccountRoleAssignmentArgs, opts ...pulumi.ResourceOption) (*AuthorizationServiceAccountRoleAssignment, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + if args.Role == nil { + return nil, errors.New("invalid value for required argument 'Role'") + } + if args.Subject == nil { + return nil, errors.New("invalid value for required argument 'Subject'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AuthorizationServiceAccountRoleAssignment + err := ctx.RegisterResource("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAuthorizationServiceAccountRoleAssignment gets an existing AuthorizationServiceAccountRoleAssignment resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetAuthorizationServiceAccountRoleAssignment(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AuthorizationServiceAccountRoleAssignmentState, opts ...pulumi.ResourceOption) (*AuthorizationServiceAccountRoleAssignment, error) { + var resource AuthorizationServiceAccountRoleAssignment + err := ctx.ReadResource("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AuthorizationServiceAccountRoleAssignment resources. +type authorizationServiceAccountRoleAssignmentState struct { + // Service-account Resource to assign the role to. + ResourceId *string `pulumi:"resourceId"` + // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + Role *string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + Subject *string `pulumi:"subject"` +} + +type AuthorizationServiceAccountRoleAssignmentState struct { + // Service-account Resource to assign the role to. + ResourceId pulumi.StringPtrInput + // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + Role pulumi.StringPtrInput + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + Subject pulumi.StringPtrInput +} + +func (AuthorizationServiceAccountRoleAssignmentState) ElementType() reflect.Type { + return reflect.TypeOf((*authorizationServiceAccountRoleAssignmentState)(nil)).Elem() +} + +type authorizationServiceAccountRoleAssignmentArgs struct { + // Service-account Resource to assign the role to. + ResourceId string `pulumi:"resourceId"` + // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + Role string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + Subject string `pulumi:"subject"` +} + +// The set of arguments for constructing a AuthorizationServiceAccountRoleAssignment resource. +type AuthorizationServiceAccountRoleAssignmentArgs struct { + // Service-account Resource to assign the role to. + ResourceId pulumi.StringInput + // Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + Role pulumi.StringInput + // Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + Subject pulumi.StringInput +} + +func (AuthorizationServiceAccountRoleAssignmentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*authorizationServiceAccountRoleAssignmentArgs)(nil)).Elem() +} + +type AuthorizationServiceAccountRoleAssignmentInput interface { + pulumi.Input + + ToAuthorizationServiceAccountRoleAssignmentOutput() AuthorizationServiceAccountRoleAssignmentOutput + ToAuthorizationServiceAccountRoleAssignmentOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentOutput +} + +func (*AuthorizationServiceAccountRoleAssignment) ElementType() reflect.Type { + return reflect.TypeOf((**AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (i *AuthorizationServiceAccountRoleAssignment) ToAuthorizationServiceAccountRoleAssignmentOutput() AuthorizationServiceAccountRoleAssignmentOutput { + return i.ToAuthorizationServiceAccountRoleAssignmentOutputWithContext(context.Background()) +} + +func (i *AuthorizationServiceAccountRoleAssignment) ToAuthorizationServiceAccountRoleAssignmentOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationServiceAccountRoleAssignmentOutput) +} + +// AuthorizationServiceAccountRoleAssignmentArrayInput is an input type that accepts AuthorizationServiceAccountRoleAssignmentArray and AuthorizationServiceAccountRoleAssignmentArrayOutput values. +// You can construct a concrete instance of `AuthorizationServiceAccountRoleAssignmentArrayInput` via: +// +// AuthorizationServiceAccountRoleAssignmentArray{ AuthorizationServiceAccountRoleAssignmentArgs{...} } +type AuthorizationServiceAccountRoleAssignmentArrayInput interface { + pulumi.Input + + ToAuthorizationServiceAccountRoleAssignmentArrayOutput() AuthorizationServiceAccountRoleAssignmentArrayOutput + ToAuthorizationServiceAccountRoleAssignmentArrayOutputWithContext(context.Context) AuthorizationServiceAccountRoleAssignmentArrayOutput +} + +type AuthorizationServiceAccountRoleAssignmentArray []AuthorizationServiceAccountRoleAssignmentInput + +func (AuthorizationServiceAccountRoleAssignmentArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (i AuthorizationServiceAccountRoleAssignmentArray) ToAuthorizationServiceAccountRoleAssignmentArrayOutput() AuthorizationServiceAccountRoleAssignmentArrayOutput { + return i.ToAuthorizationServiceAccountRoleAssignmentArrayOutputWithContext(context.Background()) +} + +func (i AuthorizationServiceAccountRoleAssignmentArray) ToAuthorizationServiceAccountRoleAssignmentArrayOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationServiceAccountRoleAssignmentArrayOutput) +} + +// AuthorizationServiceAccountRoleAssignmentMapInput is an input type that accepts AuthorizationServiceAccountRoleAssignmentMap and AuthorizationServiceAccountRoleAssignmentMapOutput values. +// You can construct a concrete instance of `AuthorizationServiceAccountRoleAssignmentMapInput` via: +// +// AuthorizationServiceAccountRoleAssignmentMap{ "key": AuthorizationServiceAccountRoleAssignmentArgs{...} } +type AuthorizationServiceAccountRoleAssignmentMapInput interface { + pulumi.Input + + ToAuthorizationServiceAccountRoleAssignmentMapOutput() AuthorizationServiceAccountRoleAssignmentMapOutput + ToAuthorizationServiceAccountRoleAssignmentMapOutputWithContext(context.Context) AuthorizationServiceAccountRoleAssignmentMapOutput +} + +type AuthorizationServiceAccountRoleAssignmentMap map[string]AuthorizationServiceAccountRoleAssignmentInput + +func (AuthorizationServiceAccountRoleAssignmentMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (i AuthorizationServiceAccountRoleAssignmentMap) ToAuthorizationServiceAccountRoleAssignmentMapOutput() AuthorizationServiceAccountRoleAssignmentMapOutput { + return i.ToAuthorizationServiceAccountRoleAssignmentMapOutputWithContext(context.Background()) +} + +func (i AuthorizationServiceAccountRoleAssignmentMap) ToAuthorizationServiceAccountRoleAssignmentMapOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationServiceAccountRoleAssignmentMapOutput) +} + +type AuthorizationServiceAccountRoleAssignmentOutput struct{ *pulumi.OutputState } + +func (AuthorizationServiceAccountRoleAssignmentOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (o AuthorizationServiceAccountRoleAssignmentOutput) ToAuthorizationServiceAccountRoleAssignmentOutput() AuthorizationServiceAccountRoleAssignmentOutput { + return o +} + +func (o AuthorizationServiceAccountRoleAssignmentOutput) ToAuthorizationServiceAccountRoleAssignmentOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentOutput { + return o +} + +// Service-account Resource to assign the role to. +func (o AuthorizationServiceAccountRoleAssignmentOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationServiceAccountRoleAssignment) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` +func (o AuthorizationServiceAccountRoleAssignmentOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationServiceAccountRoleAssignment) pulumi.StringOutput { return v.Role }).(pulumi.StringOutput) +} + +// Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. +func (o AuthorizationServiceAccountRoleAssignmentOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationServiceAccountRoleAssignment) pulumi.StringOutput { return v.Subject }).(pulumi.StringOutput) +} + +type AuthorizationServiceAccountRoleAssignmentArrayOutput struct{ *pulumi.OutputState } + +func (AuthorizationServiceAccountRoleAssignmentArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (o AuthorizationServiceAccountRoleAssignmentArrayOutput) ToAuthorizationServiceAccountRoleAssignmentArrayOutput() AuthorizationServiceAccountRoleAssignmentArrayOutput { + return o +} + +func (o AuthorizationServiceAccountRoleAssignmentArrayOutput) ToAuthorizationServiceAccountRoleAssignmentArrayOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentArrayOutput { + return o +} + +func (o AuthorizationServiceAccountRoleAssignmentArrayOutput) Index(i pulumi.IntInput) AuthorizationServiceAccountRoleAssignmentOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AuthorizationServiceAccountRoleAssignment { + return vs[0].([]*AuthorizationServiceAccountRoleAssignment)[vs[1].(int)] + }).(AuthorizationServiceAccountRoleAssignmentOutput) +} + +type AuthorizationServiceAccountRoleAssignmentMapOutput struct{ *pulumi.OutputState } + +func (AuthorizationServiceAccountRoleAssignmentMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuthorizationServiceAccountRoleAssignment)(nil)).Elem() +} + +func (o AuthorizationServiceAccountRoleAssignmentMapOutput) ToAuthorizationServiceAccountRoleAssignmentMapOutput() AuthorizationServiceAccountRoleAssignmentMapOutput { + return o +} + +func (o AuthorizationServiceAccountRoleAssignmentMapOutput) ToAuthorizationServiceAccountRoleAssignmentMapOutputWithContext(ctx context.Context) AuthorizationServiceAccountRoleAssignmentMapOutput { + return o +} + +func (o AuthorizationServiceAccountRoleAssignmentMapOutput) MapIndex(k pulumi.StringInput) AuthorizationServiceAccountRoleAssignmentOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AuthorizationServiceAccountRoleAssignment { + return vs[0].(map[string]*AuthorizationServiceAccountRoleAssignment)[vs[1].(string)] + }).(AuthorizationServiceAccountRoleAssignmentOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationServiceAccountRoleAssignmentInput)(nil)).Elem(), &AuthorizationServiceAccountRoleAssignment{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationServiceAccountRoleAssignmentArrayInput)(nil)).Elem(), AuthorizationServiceAccountRoleAssignmentArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationServiceAccountRoleAssignmentMapInput)(nil)).Elem(), AuthorizationServiceAccountRoleAssignmentMap{}) + pulumi.RegisterOutputType(AuthorizationServiceAccountRoleAssignmentOutput{}) + pulumi.RegisterOutputType(AuthorizationServiceAccountRoleAssignmentArrayOutput{}) + pulumi.RegisterOutputType(AuthorizationServiceAccountRoleAssignmentMapOutput{}) +} diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index be82cc0..ad62fde 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -33,6 +33,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AuthorizationProjectCustomRole{} case "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": r = &AuthorizationProjectRoleAssignment{} + case "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment": + r = &AuthorizationServiceAccountRoleAssignment{} case "stackit:index/cdnCustomDomain:CdnCustomDomain": r = &CdnCustomDomain{} case "stackit:index/cdnDistribution:CdnDistribution": @@ -242,6 +244,11 @@ func init() { "index/authorizationProjectRoleAssignment", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/authorizationServiceAccountRoleAssignment", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/cdnCustomDomain", diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index a6536b7..ee4777b 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -15051,6 +15051,8 @@ func (o SkeClusterMaintenancePtrOutput) Start() pulumi.StringPtrOutput { } type SkeClusterNetwork struct { + // Control plane for the cluster. + ControlPlane *SkeClusterNetworkControlPlane `pulumi:"controlPlane"` // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. Id *string `pulumi:"id"` } @@ -15067,6 +15069,8 @@ type SkeClusterNetworkInput interface { } type SkeClusterNetworkArgs struct { + // Control plane for the cluster. + ControlPlane SkeClusterNetworkControlPlanePtrInput `pulumi:"controlPlane"` // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. Id pulumi.StringPtrInput `pulumi:"id"` } @@ -15148,6 +15152,11 @@ func (o SkeClusterNetworkOutput) ToSkeClusterNetworkPtrOutputWithContext(ctx con }).(SkeClusterNetworkPtrOutput) } +// Control plane for the cluster. +func (o SkeClusterNetworkOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyT(func(v SkeClusterNetwork) *SkeClusterNetworkControlPlane { return v.ControlPlane }).(SkeClusterNetworkControlPlanePtrOutput) +} + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. func (o SkeClusterNetworkOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v SkeClusterNetwork) *string { return v.Id }).(pulumi.StringPtrOutput) @@ -15177,6 +15186,16 @@ func (o SkeClusterNetworkPtrOutput) Elem() SkeClusterNetworkOutput { }).(SkeClusterNetworkOutput) } +// Control plane for the cluster. +func (o SkeClusterNetworkPtrOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyT(func(v *SkeClusterNetwork) *SkeClusterNetworkControlPlane { + if v == nil { + return nil + } + return v.ControlPlane + }).(SkeClusterNetworkControlPlanePtrOutput) +} + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. func (o SkeClusterNetworkPtrOutput) Id() pulumi.StringPtrOutput { return o.ApplyT(func(v *SkeClusterNetwork) *string { @@ -15187,6 +15206,143 @@ func (o SkeClusterNetworkPtrOutput) Id() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type SkeClusterNetworkControlPlane struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope *string `pulumi:"accessScope"` +} + +// SkeClusterNetworkControlPlaneInput is an input type that accepts SkeClusterNetworkControlPlaneArgs and SkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `SkeClusterNetworkControlPlaneInput` via: +// +// SkeClusterNetworkControlPlaneArgs{...} +type SkeClusterNetworkControlPlaneInput interface { + pulumi.Input + + ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput + ToSkeClusterNetworkControlPlaneOutputWithContext(context.Context) SkeClusterNetworkControlPlaneOutput +} + +type SkeClusterNetworkControlPlaneArgs struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope pulumi.StringPtrInput `pulumi:"accessScope"` +} + +func (SkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { + return i.ToSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) +} + +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput) +} + +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +} + +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput).ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx) +} + +// SkeClusterNetworkControlPlanePtrInput is an input type that accepts SkeClusterNetworkControlPlaneArgs, SkeClusterNetworkControlPlanePtr and SkeClusterNetworkControlPlanePtrOutput values. +// You can construct a concrete instance of `SkeClusterNetworkControlPlanePtrInput` via: +// +// SkeClusterNetworkControlPlaneArgs{...} +// +// or: +// +// nil +type SkeClusterNetworkControlPlanePtrInput interface { + pulumi.Input + + ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput + ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Context) SkeClusterNetworkControlPlanePtrOutput +} + +type skeClusterNetworkControlPlanePtrType SkeClusterNetworkControlPlaneArgs + +func SkeClusterNetworkControlPlanePtr(v *SkeClusterNetworkControlPlaneArgs) SkeClusterNetworkControlPlanePtrInput { + return (*skeClusterNetworkControlPlanePtrType)(v) +} + +func (*skeClusterNetworkControlPlanePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +} + +func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlanePtrOutput) +} + +type SkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } + +func (SkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { + return o +} + +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { + return o +} + +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return o.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +} + +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterNetworkControlPlane) *SkeClusterNetworkControlPlane { + return &v + }).(SkeClusterNetworkControlPlanePtrOutput) +} + +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +func (o SkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNetworkControlPlane) *string { return v.AccessScope }).(pulumi.StringPtrOutput) +} + +type SkeClusterNetworkControlPlanePtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterNetworkControlPlanePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return o +} + +func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return o +} + +func (o SkeClusterNetworkControlPlanePtrOutput) Elem() SkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v *SkeClusterNetworkControlPlane) SkeClusterNetworkControlPlane { + if v != nil { + return *v + } + var ret SkeClusterNetworkControlPlane + return ret + }).(SkeClusterNetworkControlPlaneOutput) +} + +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +func (o SkeClusterNetworkControlPlanePtrOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterNetworkControlPlane) *string { + if v == nil { + return nil + } + return v.AccessScope + }).(pulumi.StringPtrOutput) +} + type SkeClusterNodePool struct { // Allow system components to run on this node pool. AllowSystemComponents *bool `pulumi:"allowSystemComponents"` @@ -26427,6 +26583,8 @@ func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { } type GetSkeClusterNetwork struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlane `pulumi:"controlPlane"` // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. Id string `pulumi:"id"` } @@ -26443,6 +26601,8 @@ type GetSkeClusterNetworkInput interface { } type GetSkeClusterNetworkArgs struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlaneInput `pulumi:"controlPlane"` // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. Id pulumi.StringInput `pulumi:"id"` } @@ -26473,11 +26633,68 @@ func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx return o } +// Control plane for the cluster. +func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) +} + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. func (o GetSkeClusterNetworkOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v GetSkeClusterNetwork) string { return v.Id }).(pulumi.StringOutput) } +type GetSkeClusterNetworkControlPlane struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope string `pulumi:"accessScope"` +} + +// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: +// +// GetSkeClusterNetworkControlPlaneArgs{...} +type GetSkeClusterNetworkControlPlaneInput interface { + pulumi.Input + + ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput + ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput +} + +type GetSkeClusterNetworkControlPlaneArgs struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope pulumi.StringInput `pulumi:"accessScope"` +} + +func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { + return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) +} + +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) +} + +type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +} + +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { + return o +} + +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { + return o +} + +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +func (o GetSkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNetworkControlPlane) string { return v.AccessScope }).(pulumi.StringOutput) +} + type GetSkeClusterNodePool struct { // Allow system components to run on this node pool. AllowSystemComponents bool `pulumi:"allowSystemComponents"` @@ -27606,6 +27823,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterMaintenancePtrInput)(nil)).Elem(), SkeClusterMaintenanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNetworkInput)(nil)).Elem(), SkeClusterNetworkArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNetworkPtrInput)(nil)).Elem(), SkeClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNetworkControlPlaneInput)(nil)).Elem(), SkeClusterNetworkControlPlaneArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNetworkControlPlanePtrInput)(nil)).Elem(), SkeClusterNetworkControlPlaneArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolInput)(nil)).Elem(), SkeClusterNodePoolArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolArrayInput)(nil)).Elem(), SkeClusterNodePoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterNodePoolTaintInput)(nil)).Elem(), SkeClusterNodePoolTaintArgs{}) @@ -27762,6 +27981,7 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterHibernationArrayInput)(nil)).Elem(), GetSkeClusterHibernationArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterMaintenanceInput)(nil)).Elem(), GetSkeClusterMaintenanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNetworkInput)(nil)).Elem(), GetSkeClusterNetworkArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNetworkControlPlaneInput)(nil)).Elem(), GetSkeClusterNetworkControlPlaneArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolInput)(nil)).Elem(), GetSkeClusterNodePoolArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolArrayInput)(nil)).Elem(), GetSkeClusterNodePoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolTaintInput)(nil)).Elem(), GetSkeClusterNodePoolTaintArgs{}) @@ -27953,6 +28173,8 @@ func init() { pulumi.RegisterOutputType(SkeClusterMaintenancePtrOutput{}) pulumi.RegisterOutputType(SkeClusterNetworkOutput{}) pulumi.RegisterOutputType(SkeClusterNetworkPtrOutput{}) + pulumi.RegisterOutputType(SkeClusterNetworkControlPlaneOutput{}) + pulumi.RegisterOutputType(SkeClusterNetworkControlPlanePtrOutput{}) pulumi.RegisterOutputType(SkeClusterNodePoolOutput{}) pulumi.RegisterOutputType(SkeClusterNodePoolArrayOutput{}) pulumi.RegisterOutputType(SkeClusterNodePoolTaintOutput{}) @@ -28109,6 +28331,7 @@ func init() { pulumi.RegisterOutputType(GetSkeClusterHibernationArrayOutput{}) pulumi.RegisterOutputType(GetSkeClusterMaintenanceOutput{}) pulumi.RegisterOutputType(GetSkeClusterNetworkOutput{}) + pulumi.RegisterOutputType(GetSkeClusterNetworkControlPlaneOutput{}) pulumi.RegisterOutputType(GetSkeClusterNodePoolOutput{}) pulumi.RegisterOutputType(GetSkeClusterNodePoolArrayOutput{}) pulumi.RegisterOutputType(GetSkeClusterNodePoolTaintOutput{}) diff --git a/sdk/nodejs/authorizationFolderRoleAssignment.ts b/sdk/nodejs/authorizationFolderRoleAssignment.ts index 4071368..2884deb 100644 --- a/sdk/nodejs/authorizationFolderRoleAssignment.ts +++ b/sdk/nodejs/authorizationFolderRoleAssignment.ts @@ -40,7 +40,7 @@ export class AuthorizationFolderRoleAssignment extends pulumi.CustomResource { } /** - * folder Resource to assign the role to. + * Folder Resource to assign the role to. */ declare public readonly resourceId: pulumi.Output; /** @@ -48,7 +48,7 @@ export class AuthorizationFolderRoleAssignment extends pulumi.CustomResource { */ declare public readonly role: pulumi.Output; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ declare public readonly subject: pulumi.Output; @@ -93,7 +93,7 @@ export class AuthorizationFolderRoleAssignment extends pulumi.CustomResource { */ export interface AuthorizationFolderRoleAssignmentState { /** - * folder Resource to assign the role to. + * Folder Resource to assign the role to. */ resourceId?: pulumi.Input; /** @@ -101,7 +101,7 @@ export interface AuthorizationFolderRoleAssignmentState { */ role?: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject?: pulumi.Input; } @@ -111,7 +111,7 @@ export interface AuthorizationFolderRoleAssignmentState { */ export interface AuthorizationFolderRoleAssignmentArgs { /** - * folder Resource to assign the role to. + * Folder Resource to assign the role to. */ resourceId: pulumi.Input; /** @@ -119,7 +119,7 @@ export interface AuthorizationFolderRoleAssignmentArgs { */ role: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject: pulumi.Input; } diff --git a/sdk/nodejs/authorizationOrganizationRoleAssignment.ts b/sdk/nodejs/authorizationOrganizationRoleAssignment.ts index b590719..a9b14c7 100644 --- a/sdk/nodejs/authorizationOrganizationRoleAssignment.ts +++ b/sdk/nodejs/authorizationOrganizationRoleAssignment.ts @@ -40,7 +40,7 @@ export class AuthorizationOrganizationRoleAssignment extends pulumi.CustomResour } /** - * organization Resource to assign the role to. + * Organization Resource to assign the role to. */ declare public readonly resourceId: pulumi.Output; /** @@ -48,7 +48,7 @@ export class AuthorizationOrganizationRoleAssignment extends pulumi.CustomResour */ declare public readonly role: pulumi.Output; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ declare public readonly subject: pulumi.Output; @@ -93,7 +93,7 @@ export class AuthorizationOrganizationRoleAssignment extends pulumi.CustomResour */ export interface AuthorizationOrganizationRoleAssignmentState { /** - * organization Resource to assign the role to. + * Organization Resource to assign the role to. */ resourceId?: pulumi.Input; /** @@ -101,7 +101,7 @@ export interface AuthorizationOrganizationRoleAssignmentState { */ role?: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject?: pulumi.Input; } @@ -111,7 +111,7 @@ export interface AuthorizationOrganizationRoleAssignmentState { */ export interface AuthorizationOrganizationRoleAssignmentArgs { /** - * organization Resource to assign the role to. + * Organization Resource to assign the role to. */ resourceId: pulumi.Input; /** @@ -119,7 +119,7 @@ export interface AuthorizationOrganizationRoleAssignmentArgs { */ role: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject: pulumi.Input; } diff --git a/sdk/nodejs/authorizationProjectRoleAssignment.ts b/sdk/nodejs/authorizationProjectRoleAssignment.ts index 64e55db..86be56a 100644 --- a/sdk/nodejs/authorizationProjectRoleAssignment.ts +++ b/sdk/nodejs/authorizationProjectRoleAssignment.ts @@ -40,7 +40,7 @@ export class AuthorizationProjectRoleAssignment extends pulumi.CustomResource { } /** - * project Resource to assign the role to. + * Project Resource to assign the role to. */ declare public readonly resourceId: pulumi.Output; /** @@ -48,7 +48,7 @@ export class AuthorizationProjectRoleAssignment extends pulumi.CustomResource { */ declare public readonly role: pulumi.Output; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ declare public readonly subject: pulumi.Output; @@ -93,7 +93,7 @@ export class AuthorizationProjectRoleAssignment extends pulumi.CustomResource { */ export interface AuthorizationProjectRoleAssignmentState { /** - * project Resource to assign the role to. + * Project Resource to assign the role to. */ resourceId?: pulumi.Input; /** @@ -101,7 +101,7 @@ export interface AuthorizationProjectRoleAssignmentState { */ role?: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject?: pulumi.Input; } @@ -111,7 +111,7 @@ export interface AuthorizationProjectRoleAssignmentState { */ export interface AuthorizationProjectRoleAssignmentArgs { /** - * project Resource to assign the role to. + * Project Resource to assign the role to. */ resourceId: pulumi.Input; /** @@ -119,7 +119,7 @@ export interface AuthorizationProjectRoleAssignmentArgs { */ role: pulumi.Input; /** - * Identifier of user, service account or client. Usually email address or name in case of clients + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. */ subject: pulumi.Input; } diff --git a/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts b/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts new file mode 100644 index 0000000..4633151 --- /dev/null +++ b/sdk/nodejs/authorizationServiceAccountRoleAssignment.ts @@ -0,0 +1,127 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Service-account Role Assignment resource schema. + * + * > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. + * + * > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export class AuthorizationServiceAccountRoleAssignment extends pulumi.CustomResource { + /** + * Get an existing AuthorizationServiceAccountRoleAssignment resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: AuthorizationServiceAccountRoleAssignmentState, opts?: pulumi.CustomResourceOptions): AuthorizationServiceAccountRoleAssignment { + return new AuthorizationServiceAccountRoleAssignment(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment'; + + /** + * Returns true if the given object is an instance of AuthorizationServiceAccountRoleAssignment. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is AuthorizationServiceAccountRoleAssignment { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AuthorizationServiceAccountRoleAssignment.__pulumiType; + } + + /** + * Service-account Resource to assign the role to. + */ + declare public readonly resourceId: pulumi.Output; + /** + * Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + */ + declare public readonly role: pulumi.Output; + /** + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + */ + declare public readonly subject: pulumi.Output; + + /** + * Create a AuthorizationServiceAccountRoleAssignment resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: AuthorizationServiceAccountRoleAssignmentArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AuthorizationServiceAccountRoleAssignmentArgs | AuthorizationServiceAccountRoleAssignmentState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AuthorizationServiceAccountRoleAssignmentState | undefined; + resourceInputs["resourceId"] = state?.resourceId; + resourceInputs["role"] = state?.role; + resourceInputs["subject"] = state?.subject; + } else { + const args = argsOrState as AuthorizationServiceAccountRoleAssignmentArgs | undefined; + if (args?.resourceId === undefined && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + if (args?.role === undefined && !opts.urn) { + throw new Error("Missing required property 'role'"); + } + if (args?.subject === undefined && !opts.urn) { + throw new Error("Missing required property 'subject'"); + } + resourceInputs["resourceId"] = args?.resourceId; + resourceInputs["role"] = args?.role; + resourceInputs["subject"] = args?.subject; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AuthorizationServiceAccountRoleAssignment.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AuthorizationServiceAccountRoleAssignment resources. + */ +export interface AuthorizationServiceAccountRoleAssignmentState { + /** + * Service-account Resource to assign the role to. + */ + resourceId?: pulumi.Input; + /** + * Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + */ + role?: pulumi.Input; + /** + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + */ + subject?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AuthorizationServiceAccountRoleAssignment resource. + */ +export interface AuthorizationServiceAccountRoleAssignmentArgs { + /** + * Service-account Resource to assign the role to. + */ + resourceId: pulumi.Input; + /** + * Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + */ + role: pulumi.Input; + /** + * Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + */ + subject: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index a19d0c8..18e8e7e 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -35,6 +35,11 @@ export type AuthorizationProjectRoleAssignment = import("./authorizationProjectR export const AuthorizationProjectRoleAssignment: typeof import("./authorizationProjectRoleAssignment").AuthorizationProjectRoleAssignment = null as any; utilities.lazyLoad(exports, ["AuthorizationProjectRoleAssignment"], () => require("./authorizationProjectRoleAssignment")); +export { AuthorizationServiceAccountRoleAssignmentArgs, AuthorizationServiceAccountRoleAssignmentState } from "./authorizationServiceAccountRoleAssignment"; +export type AuthorizationServiceAccountRoleAssignment = import("./authorizationServiceAccountRoleAssignment").AuthorizationServiceAccountRoleAssignment; +export const AuthorizationServiceAccountRoleAssignment: typeof import("./authorizationServiceAccountRoleAssignment").AuthorizationServiceAccountRoleAssignment = null as any; +utilities.lazyLoad(exports, ["AuthorizationServiceAccountRoleAssignment"], () => require("./authorizationServiceAccountRoleAssignment")); + export { CdnCustomDomainArgs, CdnCustomDomainState } from "./cdnCustomDomain"; export type CdnCustomDomain = import("./cdnCustomDomain").CdnCustomDomain; export const CdnCustomDomain: typeof import("./cdnCustomDomain").CdnCustomDomain = null as any; @@ -834,6 +839,8 @@ const _module = { return new AuthorizationProjectCustomRole(name, undefined, { urn }) case "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": return new AuthorizationProjectRoleAssignment(name, undefined, { urn }) + case "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment": + return new AuthorizationServiceAccountRoleAssignment(name, undefined, { urn }) case "stackit:index/cdnCustomDomain:CdnCustomDomain": return new CdnCustomDomain(name, undefined, { urn }) case "stackit:index/cdnDistribution:CdnDistribution": @@ -993,6 +1000,7 @@ pulumi.runtime.registerResourceModule("stackit", "index/authorizationFolderRoleA pulumi.runtime.registerResourceModule("stackit", "index/authorizationOrganizationRoleAssignment", _module) pulumi.runtime.registerResourceModule("stackit", "index/authorizationProjectCustomRole", _module) pulumi.runtime.registerResourceModule("stackit", "index/authorizationProjectRoleAssignment", _module) +pulumi.runtime.registerResourceModule("stackit", "index/authorizationServiceAccountRoleAssignment", _module) pulumi.runtime.registerResourceModule("stackit", "index/cdnCustomDomain", _module) pulumi.runtime.registerResourceModule("stackit", "index/cdnDistribution", _module) pulumi.runtime.registerResourceModule("stackit", "index/dnsRecordSet", _module) diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index e9ff7a3..93a0b1b 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -19,6 +19,7 @@ "authorizationOrganizationRoleAssignment.ts", "authorizationProjectCustomRole.ts", "authorizationProjectRoleAssignment.ts", + "authorizationServiceAccountRoleAssignment.ts", "cdnCustomDomain.ts", "cdnDistribution.ts", "config/index.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 59ecd89..994c791 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1648,12 +1648,23 @@ export interface SkeClusterMaintenance { } export interface SkeClusterNetwork { + /** + * Control plane for the cluster. + */ + controlPlane?: pulumi.Input; /** * ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. */ id?: pulumi.Input; } +export interface SkeClusterNetworkControlPlane { + /** + * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + */ + accessScope?: pulumi.Input; +} + export interface SkeClusterNodePool { /** * Allow system components to run on this node pool. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 649237c..41926af 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2280,12 +2280,23 @@ export interface GetSkeClusterMaintenance { } export interface GetSkeClusterNetwork { + /** + * Control plane for the cluster. + */ + controlPlane: outputs.GetSkeClusterNetworkControlPlane; /** * ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. */ id: string; } +export interface GetSkeClusterNetworkControlPlane { + /** + * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + */ + accessScope: string; +} + export interface GetSkeClusterNodePool { /** * Allow system components to run on this node pool. @@ -3616,12 +3627,23 @@ export interface SkeClusterMaintenance { } export interface SkeClusterNetwork { + /** + * Control plane for the cluster. + */ + controlPlane: outputs.SkeClusterNetworkControlPlane; /** * ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. */ id: string; } +export interface SkeClusterNetworkControlPlane { + /** + * Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + */ + accessScope: string; +} + export interface SkeClusterNodePool { /** * Allow system components to run on this node pool. diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index b0b1f0a..f22acda 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -12,6 +12,7 @@ from .authorization_organization_role_assignment import * from .authorization_project_custom_role import * from .authorization_project_role_assignment import * +from .authorization_service_account_role_assignment import * from .cdn_custom_domain import * from .cdn_distribution import * from .dns_record_set import * @@ -228,6 +229,14 @@ "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": "AuthorizationProjectRoleAssignment" } }, + { + "pkg": "stackit", + "mod": "index/authorizationServiceAccountRoleAssignment", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment": "AuthorizationServiceAccountRoleAssignment" + } + }, { "pkg": "stackit", "mod": "index/cdnCustomDomain", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index 9f2e1dc..398d04a 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -193,6 +193,8 @@ 'SkeClusterMaintenanceArgsDict', 'SkeClusterNetworkArgs', 'SkeClusterNetworkArgsDict', + 'SkeClusterNetworkControlPlaneArgs', + 'SkeClusterNetworkControlPlaneArgsDict', 'SkeClusterNodePoolArgs', 'SkeClusterNodePoolArgsDict', 'SkeClusterNodePoolTaintArgs', @@ -7700,6 +7702,10 @@ def enable_machine_image_version_updates(self, value: Optional[pulumi.Input[_bui class SkeClusterNetworkArgsDict(TypedDict): + control_plane: NotRequired[pulumi.Input['SkeClusterNetworkControlPlaneArgsDict']] + """ + Control plane for the cluster. + """ id: NotRequired[pulumi.Input[_builtins.str]] """ ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. @@ -7708,13 +7714,29 @@ class SkeClusterNetworkArgsDict(TypedDict): @pulumi.input_type class SkeClusterNetworkArgs: def __init__(__self__, *, + control_plane: Optional[pulumi.Input['SkeClusterNetworkControlPlaneArgs']] = None, id: Optional[pulumi.Input[_builtins.str]] = None): """ + :param pulumi.Input['SkeClusterNetworkControlPlaneArgs'] control_plane: Control plane for the cluster. :param pulumi.Input[_builtins.str] id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ + if control_plane is not None: + pulumi.set(__self__, "control_plane", control_plane) if id is not None: pulumi.set(__self__, "id", id) + @_builtins.property + @pulumi.getter(name="controlPlane") + def control_plane(self) -> Optional[pulumi.Input['SkeClusterNetworkControlPlaneArgs']]: + """ + Control plane for the cluster. + """ + return pulumi.get(self, "control_plane") + + @control_plane.setter + def control_plane(self, value: Optional[pulumi.Input['SkeClusterNetworkControlPlaneArgs']]): + pulumi.set(self, "control_plane", value) + @_builtins.property @pulumi.getter def id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -7728,6 +7750,35 @@ def id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "id", value) +class SkeClusterNetworkControlPlaneArgsDict(TypedDict): + access_scope: NotRequired[pulumi.Input[_builtins.str]] + """ + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + +@pulumi.input_type +class SkeClusterNetworkControlPlaneArgs: + def __init__(__self__, *, + access_scope: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + if access_scope is not None: + pulumi.set(__self__, "access_scope", access_scope) + + @_builtins.property + @pulumi.getter(name="accessScope") + def access_scope(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + return pulumi.get(self, "access_scope") + + @access_scope.setter + def access_scope(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "access_scope", value) + + class SkeClusterNodePoolArgsDict(TypedDict): availability_zones: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] """ diff --git a/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py b/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py index efeabcb..1660cb1 100644 --- a/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_folder_role_assignment.py @@ -25,9 +25,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a AuthorizationFolderRoleAssignment resource. - :param pulumi.Input[_builtins.str] resource_id: folder Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Folder Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ pulumi.set(__self__, "resource_id", resource_id) pulumi.set(__self__, "role", role) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Input[_builtins.str]: """ - folder Resource to assign the role to. + Folder Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -61,7 +61,7 @@ def role(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def subject(self) -> pulumi.Input[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -79,9 +79,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering AuthorizationFolderRoleAssignment resources. - :param pulumi.Input[_builtins.str] resource_id: folder Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Folder Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ if resource_id is not None: pulumi.set(__self__, "resource_id", resource_id) @@ -94,7 +94,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - folder Resource to assign the role to. + Folder Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -118,7 +118,7 @@ def role(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def subject(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -147,9 +147,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] resource_id: folder Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Folder Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ ... @overload @@ -221,9 +221,9 @@ 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[_builtins.str] resource_id: folder Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Folder Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -238,7 +238,7 @@ def get(resource_name: str, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Output[_builtins.str]: """ - folder Resource to assign the role to. + Folder Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -254,7 +254,7 @@ def role(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def subject(self) -> pulumi.Output[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") diff --git a/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py b/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py index 671a364..dadc155 100644 --- a/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_organization_role_assignment.py @@ -25,9 +25,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a AuthorizationOrganizationRoleAssignment resource. - :param pulumi.Input[_builtins.str] resource_id: organization Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Organization Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ pulumi.set(__self__, "resource_id", resource_id) pulumi.set(__self__, "role", role) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Input[_builtins.str]: """ - organization Resource to assign the role to. + Organization Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -61,7 +61,7 @@ def role(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def subject(self) -> pulumi.Input[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -79,9 +79,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering AuthorizationOrganizationRoleAssignment resources. - :param pulumi.Input[_builtins.str] resource_id: organization Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Organization Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ if resource_id is not None: pulumi.set(__self__, "resource_id", resource_id) @@ -94,7 +94,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - organization Resource to assign the role to. + Organization Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -118,7 +118,7 @@ def role(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def subject(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -147,9 +147,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] resource_id: organization Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Organization Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ ... @overload @@ -221,9 +221,9 @@ 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[_builtins.str] resource_id: organization Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Organization Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -238,7 +238,7 @@ def get(resource_name: str, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Output[_builtins.str]: """ - organization Resource to assign the role to. + Organization Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -254,7 +254,7 @@ def role(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def subject(self) -> pulumi.Output[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") diff --git a/sdk/python/pulumi_stackit/authorization_project_role_assignment.py b/sdk/python/pulumi_stackit/authorization_project_role_assignment.py index 285b6b2..2e9a33e 100644 --- a/sdk/python/pulumi_stackit/authorization_project_role_assignment.py +++ b/sdk/python/pulumi_stackit/authorization_project_role_assignment.py @@ -25,9 +25,9 @@ def __init__(__self__, *, """ The set of arguments for constructing a AuthorizationProjectRoleAssignment resource. - :param pulumi.Input[_builtins.str] resource_id: project Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Project Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ pulumi.set(__self__, "resource_id", resource_id) pulumi.set(__self__, "role", role) @@ -37,7 +37,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Input[_builtins.str]: """ - project Resource to assign the role to. + Project Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -61,7 +61,7 @@ def role(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def subject(self) -> pulumi.Input[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -79,9 +79,9 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering AuthorizationProjectRoleAssignment resources. - :param pulumi.Input[_builtins.str] resource_id: project Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Project Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ if resource_id is not None: pulumi.set(__self__, "resource_id", resource_id) @@ -94,7 +94,7 @@ def __init__(__self__, *, @pulumi.getter(name="resourceId") def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - project Resource to assign the role to. + Project Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -118,7 +118,7 @@ def role(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def subject(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") @@ -147,9 +147,9 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[_builtins.str] resource_id: project Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Project Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ ... @overload @@ -221,9 +221,9 @@ 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[_builtins.str] resource_id: project Resource to assign the role to. + :param pulumi.Input[_builtins.str] resource_id: Project Resource to assign the role to. :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` - :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -238,7 +238,7 @@ def get(resource_name: str, @pulumi.getter(name="resourceId") def resource_id(self) -> pulumi.Output[_builtins.str]: """ - project Resource to assign the role to. + Project Resource to assign the role to. """ return pulumi.get(self, "resource_id") @@ -254,7 +254,7 @@ def role(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def subject(self) -> pulumi.Output[_builtins.str]: """ - Identifier of user, service account or client. Usually email address or name in case of clients + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. """ return pulumi.get(self, "subject") diff --git a/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py b/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py new file mode 100644 index 0000000..51d9c2e --- /dev/null +++ b/sdk/python/pulumi_stackit/authorization_service_account_role_assignment.py @@ -0,0 +1,264 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['AuthorizationServiceAccountRoleAssignmentArgs', 'AuthorizationServiceAccountRoleAssignment'] + +@pulumi.input_type +class AuthorizationServiceAccountRoleAssignmentArgs: + def __init__(__self__, *, + resource_id: pulumi.Input[_builtins.str], + role: pulumi.Input[_builtins.str], + subject: pulumi.Input[_builtins.str]): + """ + The set of arguments for constructing a AuthorizationServiceAccountRoleAssignment resource. + + :param pulumi.Input[_builtins.str] resource_id: Service-account Resource to assign the role to. + :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + pulumi.set(__self__, "resource_id", resource_id) + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "subject", subject) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[_builtins.str]: + """ + Service-account Resource to assign the role to. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter + def role(self) -> pulumi.Input[_builtins.str]: + """ + Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "role", value) + + @_builtins.property + @pulumi.getter + def subject(self) -> pulumi.Input[_builtins.str]: + """ + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + return pulumi.get(self, "subject") + + @subject.setter + def subject(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "subject", value) + + +@pulumi.input_type +class _AuthorizationServiceAccountRoleAssignmentState: + def __init__(__self__, *, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role: Optional[pulumi.Input[_builtins.str]] = None, + subject: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering AuthorizationServiceAccountRoleAssignment resources. + + :param pulumi.Input[_builtins.str] resource_id: Service-account Resource to assign the role to. + :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if role is not None: + pulumi.set(__self__, "role", role) + if subject is not None: + pulumi.set(__self__, "subject", subject) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Service-account Resource to assign the role to. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter + def role(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "role", value) + + @_builtins.property + @pulumi.getter + def subject(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + return pulumi.get(self, "subject") + + @subject.setter + def subject(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "subject", value) + + +@pulumi.type_token("stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment") +class AuthorizationServiceAccountRoleAssignment(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role: Optional[pulumi.Input[_builtins.str]] = None, + subject: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Service-account Role Assignment resource schema. + + > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. + + > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] resource_id: Service-account Resource to assign the role to. + :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AuthorizationServiceAccountRoleAssignmentArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Service-account Role Assignment resource schema. + + > **Important:** Use this resource to grant 'Act-As' permissions. This allows a service-account (the `subject`) to impersonate the target Service Account. A common example is authorizing the SKE Service Account to act as a project-specific Service Account to access APIs. + + > This resource is part of the iam experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param AuthorizationServiceAccountRoleAssignmentArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(AuthorizationServiceAccountRoleAssignmentArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role: Optional[pulumi.Input[_builtins.str]] = None, + subject: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = AuthorizationServiceAccountRoleAssignmentArgs.__new__(AuthorizationServiceAccountRoleAssignmentArgs) + + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + if role is None and not opts.urn: + raise TypeError("Missing required property 'role'") + __props__.__dict__["role"] = role + if subject is None and not opts.urn: + raise TypeError("Missing required property 'subject'") + __props__.__dict__["subject"] = subject + super(AuthorizationServiceAccountRoleAssignment, __self__).__init__( + 'stackit:index/authorizationServiceAccountRoleAssignment:AuthorizationServiceAccountRoleAssignment', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role: Optional[pulumi.Input[_builtins.str]] = None, + subject: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthorizationServiceAccountRoleAssignment': + """ + Get an existing AuthorizationServiceAccountRoleAssignment resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :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[_builtins.str] resource_id: Service-account Resource to assign the role to. + :param pulumi.Input[_builtins.str] role: Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + :param pulumi.Input[_builtins.str] subject: Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AuthorizationServiceAccountRoleAssignmentState.__new__(_AuthorizationServiceAccountRoleAssignmentState) + + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["role"] = role + __props__.__dict__["subject"] = subject + return AuthorizationServiceAccountRoleAssignment(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[_builtins.str]: + """ + Service-account Resource to assign the role to. + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter + def role(self) -> pulumi.Output[_builtins.str]: + """ + Role to be assigned. Available roles can be queried using stackit-cli: `stackit curl https://authorization.api.stackit.cloud/v2/permissions` + """ + return pulumi.get(self, "role") + + @_builtins.property + @pulumi.getter + def subject(self) -> pulumi.Output[_builtins.str]: + """ + Identifier of user, service account or client. Usually email address or name in case of clients. All letters must be lowercased. + """ + return pulumi.get(self, "subject") + diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index 6e256d8..7c2236a 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -105,6 +105,7 @@ 'SkeClusterHibernation', 'SkeClusterMaintenance', 'SkeClusterNetwork', + 'SkeClusterNetworkControlPlane', 'SkeClusterNodePool', 'SkeClusterNodePoolTaint', 'SqlserverflexInstanceFlavor', @@ -215,6 +216,7 @@ 'GetSkeClusterHibernationResult', 'GetSkeClusterMaintenanceResult', 'GetSkeClusterNetworkResult', + 'GetSkeClusterNetworkControlPlaneResult', 'GetSkeClusterNodePoolResult', 'GetSkeClusterNodePoolTaintResult', 'GetSkeKubernetesVersionsKubernetesVersionResult', @@ -6146,14 +6148,43 @@ def enable_machine_image_version_updates(self) -> Optional[_builtins.bool]: @pulumi.output_type class SkeClusterNetwork(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "controlPlane": + suggest = "control_plane" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SkeClusterNetwork. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SkeClusterNetwork.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SkeClusterNetwork.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, + control_plane: Optional['outputs.SkeClusterNetworkControlPlane'] = None, id: Optional[_builtins.str] = None): """ + :param 'SkeClusterNetworkControlPlaneArgs' control_plane: Control plane for the cluster. :param _builtins.str id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ + if control_plane is not None: + pulumi.set(__self__, "control_plane", control_plane) if id is not None: pulumi.set(__self__, "id", id) + @_builtins.property + @pulumi.getter(name="controlPlane") + def control_plane(self) -> Optional['outputs.SkeClusterNetworkControlPlane']: + """ + Control plane for the cluster. + """ + return pulumi.get(self, "control_plane") + @_builtins.property @pulumi.getter def id(self) -> Optional[_builtins.str]: @@ -6163,6 +6194,42 @@ def id(self) -> Optional[_builtins.str]: return pulumi.get(self, "id") +@pulumi.output_type +class SkeClusterNetworkControlPlane(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessScope": + suggest = "access_scope" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SkeClusterNetworkControlPlane. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SkeClusterNetworkControlPlane.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SkeClusterNetworkControlPlane.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + access_scope: Optional[_builtins.str] = None): + """ + :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + if access_scope is not None: + pulumi.set(__self__, "access_scope", access_scope) + + @_builtins.property + @pulumi.getter(name="accessScope") + def access_scope(self) -> Optional[_builtins.str]: + """ + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + return pulumi.get(self, "access_scope") + + @pulumi.output_type class SkeClusterNodePool(dict): @staticmethod @@ -11834,12 +11901,23 @@ def start(self) -> _builtins.str: @pulumi.output_type class GetSkeClusterNetworkResult(dict): def __init__(__self__, *, + control_plane: 'outputs.GetSkeClusterNetworkControlPlaneResult', id: _builtins.str): """ + :param 'GetSkeClusterNetworkControlPlaneArgs' control_plane: Control plane for the cluster. :param _builtins.str id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ + pulumi.set(__self__, "control_plane", control_plane) pulumi.set(__self__, "id", id) + @_builtins.property + @pulumi.getter(name="controlPlane") + def control_plane(self) -> 'outputs.GetSkeClusterNetworkControlPlaneResult': + """ + Control plane for the cluster. + """ + return pulumi.get(self, "control_plane") + @_builtins.property @pulumi.getter def id(self) -> _builtins.str: @@ -11849,6 +11927,24 @@ def id(self) -> _builtins.str: return pulumi.get(self, "id") +@pulumi.output_type +class GetSkeClusterNetworkControlPlaneResult(dict): + def __init__(__self__, *, + access_scope: _builtins.str): + """ + :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + pulumi.set(__self__, "access_scope", access_scope) + + @_builtins.property + @pulumi.getter(name="accessScope") + def access_scope(self) -> _builtins.str: + """ + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + """ + return pulumi.get(self, "access_scope") + + @pulumi.output_type class GetSkeClusterNodePoolResult(dict): def __init__(__self__, *,