diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 11ba1f7..b2e9608 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -15,6 +15,14 @@ "stackit_authorization_organization_role_assignment": { "current": "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment" }, + "stackit_authorization_project_custom_role": { + "current": "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole", + "fields": { + "permissions": { + "maxItemsOne": false + } + } + }, "stackit_authorization_project_role_assignment": { "current": "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment" }, @@ -662,6 +670,14 @@ } } }, + "stackit_authorization_project_custom_role": { + "current": "stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", + "fields": { + "permissions": { + "maxItemsOne": false + } + } + }, "stackit_cdn_custom_domain": { "current": "stackit:index/getCdnCustomDomain:getCdnCustomDomain", "fields": { @@ -1325,6 +1341,36 @@ } } }, + "stackit_ske_kubernetes_versions": { + "current": "stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", + "fields": { + "kubernetes_versions": { + "maxItemsOne": false + } + } + }, + "stackit_ske_machine_image_versions": { + "current": "stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", + "fields": { + "machine_images": { + "maxItemsOne": false, + "elem": { + "fields": { + "versions": { + "maxItemsOne": false, + "elem": { + "fields": { + "cri": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + }, "stackit_sqlserverflex_instance": { "current": "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance", "fields": { diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index c8ddd79..a2ed49f 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -5504,6 +5504,101 @@ } } }, + "stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion": { + "properties": { + "expirationDate": { + "type": "string", + "description": "Expiration date of the version in RFC3339 format.\n" + }, + "featureGates": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of available feature gates for this version.\n" + }, + "state": { + "type": "string", + "description": "State of the kubernetes version.\n" + }, + "version": { + "type": "string", + "description": "Kubernetes version string (e.g., `1.33.6`).\n" + } + }, + "type": "object", + "required": [ + "expirationDate", + "featureGates", + "state", + "version" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSkeMachineImageVersionsMachineImage:getSkeMachineImageVersionsMachineImage": { + "properties": { + "name": { + "type": "string", + "description": "Name of the OS image (e.g., \u003cspan pulumi-lang-nodejs=\"`ubuntu`\" pulumi-lang-dotnet=\"`Ubuntu`\" pulumi-lang-go=\"`ubuntu`\" pulumi-lang-python=\"`ubuntu`\" pulumi-lang-yaml=\"`ubuntu`\" pulumi-lang-java=\"`ubuntu`\"\u003e`ubuntu`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`flatcar`\" pulumi-lang-dotnet=\"`Flatcar`\" pulumi-lang-go=\"`flatcar`\" pulumi-lang-python=\"`flatcar`\" pulumi-lang-yaml=\"`flatcar`\" pulumi-lang-java=\"`flatcar`\"\u003e`flatcar`\u003c/span\u003e).\n" + }, + "versions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeMachineImageVersionsMachineImageVersion:getSkeMachineImageVersionsMachineImageVersion" + }, + "description": "Supported versions of the image.\n" + } + }, + "type": "object", + "required": [ + "name", + "versions" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSkeMachineImageVersionsMachineImageVersion:getSkeMachineImageVersionsMachineImageVersion": { + "properties": { + "cris": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Container runtimes supported (e.g., \u003cspan pulumi-lang-nodejs=\"`containerd`\" pulumi-lang-dotnet=\"`Containerd`\" pulumi-lang-go=\"`containerd`\" pulumi-lang-python=\"`containerd`\" pulumi-lang-yaml=\"`containerd`\" pulumi-lang-java=\"`containerd`\"\u003e`containerd`\u003c/span\u003e).\n" + }, + "expirationDate": { + "type": "string", + "description": "Expiration date of the version in RFC3339 format.\n" + }, + "state": { + "type": "string", + "description": "State of the image version.\n" + }, + "version": { + "type": "string", + "description": "Machine image version string.\n" + } + }, + "type": "object", + "required": [ + "cris", + "expirationDate", + "state", + "version" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor": { "properties": { "cpu": { @@ -6159,6 +6254,96 @@ "type": "object" } }, + "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole": { + "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_resourcemanager_project\" \"example\" {\n name = \"example_project\"\n owner_email = \"foo.bar@stackit.cloud\"\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_project_custom_role\" \"example\" {\n resource_id = stackit_resourcemanager_project.example.project_id\n name = \"my.custom.role\"\n description = \"Some description\"\n permissions = [\n \"iam.subject.get\"\n ]\n}\n\n# Only use the import statement, if you want to import an existing custom role\nimport {\n to = stackit_authorization_project_custom_role.import-example\n id = \"${var.project_id},${var.custom_role_id}\"\n}\n```\n", + "properties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "required": [ + "description", + "name", + "permissions", + "resourceId", + "roleId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + } + }, + "requiredInputs": [ + "description", + "permissions", + "resourceId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering AuthorizationProjectCustomRole resources.\n", + "properties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object" + } + }, "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": { "description": "Project Role Assignment resource schema.\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\nresource \"stackit_resourcemanager_project\" \"example\" {\n name = \"example_project\"\n owner_email = \"foo.bar@stackit.cloud\"\n # in this case a folder or a org-id\n parent_container_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_authorization_project_role_assignment\" \"pra\" {\n resource_id = stackit_resourcemanager_project.example.folder_id\n role = \"reader\"\n subject = \"foo.bar@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing project role assignment\nimport {\n to = stackit_authorization_project_role_assignment.import-example\n id = \"${var.project_id},${var.project_role_assignment_role},${var.project_role_assignment_subject}\"\n}\n```\n", "properties": { @@ -10790,14 +10975,9 @@ "type": "string", "description": "Specifies Observability instance dashboard URL.\n" }, - "grafanaInitialAdminPassword": { - "type": "string", - "description": "Specifies an initial Grafana admin password.\n", - "secret": true - }, - "grafanaInitialAdminUser": { - "type": "string", - "description": "Specifies an initial Grafana admin username.\n" + "grafanaAdminEnabled": { + "type": "boolean", + "description": "If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later.\n" }, "grafanaPublicReadAccess": { "type": "boolean", @@ -10894,8 +11074,7 @@ "required": [ "alertingUrl", "dashboardUrl", - "grafanaInitialAdminPassword", - "grafanaInitialAdminUser", + "grafanaAdminEnabled", "grafanaPublicReadAccess", "grafanaUrl", "instanceId", @@ -10932,6 +11111,10 @@ "$ref": "#/types/stackit:index/ObservabilityInstanceAlertConfig:ObservabilityInstanceAlertConfig", "description": "Alert configuration for the instance.\n" }, + "grafanaAdminEnabled": { + "type": "boolean", + "description": "If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later.\n" + }, "logsRetentionDays": { "type": "integer", "description": "Specifies for how many days the logs are kept. Default is set to \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n" @@ -10998,14 +11181,9 @@ "type": "string", "description": "Specifies Observability instance dashboard URL.\n" }, - "grafanaInitialAdminPassword": { - "type": "string", - "description": "Specifies an initial Grafana admin password.\n", - "secret": true - }, - "grafanaInitialAdminUser": { - "type": "string", - "description": "Specifies an initial Grafana admin username.\n" + "grafanaAdminEnabled": { + "type": "boolean", + "description": "If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later.\n" }, "grafanaPublicReadAccess": { "type": "boolean", @@ -15263,7 +15441,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 minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\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}\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", @@ -16136,6 +16314,67 @@ ] } }, + "stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole": { + "description": "Custom Role resource schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_authorization_project_custom_role\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my.custom.role\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getAuthorizationProjectCustomRole.\n", + "properties": { + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object", + "required": [ + "resourceId", + "roleId" + ] + }, + "outputs": { + "description": "A collection of values returned by getAuthorizationProjectCustomRole.\n", + "properties": { + "description": { + "type": "string", + "description": "A human readable description of the role.\n" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the role\n" + }, + "permissions": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Permissions for the role\n" + }, + "resourceId": { + "type": "string", + "description": "Resource to add the custom role to.\n" + }, + "roleId": { + "type": "string", + "description": "The ID of the role.\n" + } + }, + "type": "object", + "required": [ + "description", + "id", + "name", + "permissions", + "resourceId", + "roleId" + ] + } + }, "stackit:index/getCdnCustomDomain:getCdnCustomDomain": { "description": "CDN distribution data source schema.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_cdn_custom_domain\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n distribution_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"https://xxx.xxx\"\n}\n```\n", "inputs": { @@ -18924,14 +19163,9 @@ "type": "string", "description": "Specifies Observability instance dashboard URL.\n" }, - "grafanaInitialAdminPassword": { - "type": "string", - "description": "Specifies an initial Grafana admin password.\n", - "secret": true - }, - "grafanaInitialAdminUser": { - "type": "string", - "description": "Specifies an initial Grafana admin username.\n" + "grafanaAdminEnabled": { + "type": "boolean", + "description": "If true, a default Grafana server admin user was created.\n" }, "grafanaPublicReadAccess": { "type": "boolean", @@ -19034,8 +19268,7 @@ "alertConfig", "alertingUrl", "dashboardUrl", - "grafanaInitialAdminPassword", - "grafanaInitialAdminUser", + "grafanaAdminEnabled", "grafanaPublicReadAccess", "grafanaUrl", "id", @@ -21948,6 +22181,98 @@ ] } }, + "stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions": { + "description": "Returns Kubernetes versions as reported by the SKE provider options API for the given region.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_kubernetes_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version\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-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSkeKubernetesVersions.\n", + "properties": { + "region": { + "type": "string", + "description": "Region override. If omitted, the provider’s region will be used.\n" + }, + "versionState": { + "type": "string", + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSkeKubernetesVersions.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource." + }, + "kubernetesVersions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion" + }, + "description": "Kubernetes versions and their metadata.\n" + }, + "region": { + "type": "string", + "description": "Region override. If omitted, the provider’s region will be used.\n" + }, + "versionState": { + "type": "string", + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`.\n" + } + }, + "type": "object", + "required": [ + "kubernetesVersions", + "id" + ] + } + }, + "stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions": { + "description": "Returns a list of supported Kubernetes machine image versions for the cluster nodes.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_machine_image_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nlocals {\n flatcar_supported_version = one(flatten([\n for mi in data.stackit_ske_machine_image_versions.example.machine_images : [\n for v in mi.versions :\n v.version\n if mi.name == \"flatcar\" # or ubuntu\n ]\n ]))\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = local.flatcar_supported_version\n os_name = \"flatcar\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSkeMachineImageVersions.\n", + "properties": { + "region": { + "type": "string", + "description": "Region override. If omitted, the provider’s region will be used.\n" + }, + "versionState": { + "type": "string", + "description": "Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`.\n" + } + }, + "type": "object" + }, + "outputs": { + "description": "A collection of values returned by getSkeMachineImageVersions.\n", + "properties": { + "id": { + "type": "string", + "description": "The provider-assigned unique ID for this managed resource." + }, + "machineImages": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeMachineImageVersionsMachineImage:getSkeMachineImageVersionsMachineImage" + }, + "description": "Supported machine image types and versions.\n" + }, + "region": { + "type": "string", + "description": "Region override. If omitted, the provider’s region will be used.\n" + }, + "versionState": { + "type": "string", + "description": "Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`.\n" + } + }, + "type": "object", + "required": [ + "machineImages", + "id" + ] + } + }, "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance": { "description": "SQLServer Flex instance data source 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## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { diff --git a/provider/go.mod b/provider/go.mod index 8a18425..1d0a7a1 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -55,7 +55,7 @@ require ( github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang-jwt/jwt/v5 v5.3.0 // indirect + github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/golang/glog v1.2.5 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/golang/protobuf v1.5.4 // indirect @@ -152,37 +152,37 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/pflag v1.0.10 // indirect - github.com/stackitcloud/stackit-sdk-go/core v0.21.0 // indirect + github.com/stackitcloud/stackit-sdk-go/core v0.21.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 // indirect - github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6 // indirect + github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1 // indirect - github.com/stackitcloud/terraform-provider-stackit v0.79.1 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.80.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 d16bbb4..4a9d3aa 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -850,8 +850,8 @@ github.com/gofrs/uuid v4.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRx github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= -github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= +github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= @@ -1340,68 +1340,68 @@ github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.3 h1:aB0mIxvFvZ github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.3/go.mod h1:AYaRzbN02xCp5DnA2tbc/5pnFxHvY12bp3KftVkZhOE= github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.3 h1:aoZCTIAaJkW7Cmks6L/ftrE/J1bCIrVoXruTzdC0ixs= github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.3/go.mod h1:F4bSBR3AuonR/lLPO4EuZY7wmd1AVxOP+hvfI7Jdqs0= -github.com/stackitcloud/stackit-sdk-go/core v0.21.0 h1:QXZqiaO7U/4IpTkJfzt4dt6QxJzG2uUS12mBnHpYNik= -github.com/stackitcloud/stackit-sdk-go/core v0.21.0/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= +github.com/stackitcloud/stackit-sdk-go/core v0.21.1 h1:Y/PcAgM7DPYMNqum0MLv4n1mF9ieuevzcCIZYQfm3Ts= +github.com/stackitcloud/stackit-sdk-go/core v0.21.1/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1 h1:gMAZURshmPGIIkLbZQYq+wvr+tAGa5Jdd2xyTpFtGUo= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1/go.mod h1:/gj9PeF6294awSPeYokbHfZbcWK+6Dr4DQO2Z37eYQU= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1 h1:PiNC8VmLqi1WUnBSPefjDXThD43Fvb87p+Y6H8onGA0= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1/go.mod h1:Nnfe/Zv4Z8F56Ljw/MfXjL0/2Ajia4bGuL/CZuvIXk8= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 h1:KD/FxU/cJIzfyMvwiOvTlSWq87ISENpHNmw/quznGnw= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3/go.mod h1:BNiIZkDqwSV1LkWDjMKxVb9pxQ/HMIsXJ0AQ8pFoAo4= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 h1:+96JOe4oS9BhdH4kHfc5jcl9DVIZiHrMN0/PXn8uWoI= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0/go.mod h1:tFDkVkK+ESBTiH2XIcMPPR/pJJmeqT1VNDghg+ZxfMI= +github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2 h1:Xp4FxCBiTQhqed2tB26fRJJTQST2NwDTiXiacqeTfMI= +github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2/go.mod h1:aoFctJ6HPLUqJxOumwFFTPHykpSBx35wR/raw7rjp9k= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4 h1:XIPjrjUemYEf29EXMl9kk/X1uqND8VhvM5qrWdYleYM= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4/go.mod h1:HstEWjyE3Pr2mVdzfx/BvVo3XUisllN+GRr0F52scB8= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1 h1:BniqPDK1pjqXFq07JL5L9IpWFxaOp/5kxptnXKsb/Ks= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1/go.mod h1:UY3xF2A9jkaBoQgLdrAcMn0rCiZdmLAO3edWJUGjjqI= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 h1:3JKXfI5hdcXcRVBjUZg5qprXG5rDmPnM6dsvplMk/vg= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1/go.mod h1:3nTaj8IGjNNGYUD2CpuXkXwc5c4giTUmoPggFhjVFxo= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 h1:U/x0tc487X9msMS5yZYjrBAAKrCx87Trmt0kh8JiARA= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0/go.mod h1:6+5+RCDfU7eQN3+/SGdOtx7Bq9dEa2FrHz/jflgY1M4= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 h1:Ar2n9GKmrTN80G/Ta1R+fL5aX5nEoxL6ODVJl3emzho= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0/go.mod h1:sHMFoYvVrkRZcH13DkLvp48nW+ssRVVVuwqJHDGpa5M= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2 h1:bdjhr77dlp02OWqlzaju4QG8nNraT4bWsxKtGWcQ2EI= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2/go.mod h1:VlDVK/MW8Obgacl5UPrfB8MSIfu4rS/fSYPI1i/fDac= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0 h1:CMwegmCMidg1yrNy8NtEdMQ/9+28GwI/gOCT3isynls= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0/go.mod h1:Kuem2KiTGZL1i6kL9LLOlvA9M+SatKaJbNWQ7o87Px4= github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1 h1:2UKKtBg+E5IFUcZAkRyKz1Km+tsA//zGjFQjVWwaXss= github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1/go.mod h1:3/7s4cDhMBY7u84XjD9aUm649aoPhsBsjfPG/WDUujY= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 h1:fUQLWs2WsXFh+FtFDYOm1kv/gJrGBZLjhVOXJOuYfFY= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3/go.mod h1:305j9bvzJ+3c4csOw4SUfLSSxRbkpL0osbvqMI89FeM= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0 h1:EOUVSKvu/m5N+psxeB69IIpANev/jw6HIw2yfh/HO7w= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0/go.mod h1:m4IjH1/RtJOF072kjAB0E/ejoIc++myrKmIahphfO6Q= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 h1:Y5Ct3Zi5UcIOwjKMWpKl0nrqiq7psTf4NJv0IKgwTkc= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3/go.mod h1:TMl5WcpjzUiAlLWaxMKbu9ysDzFziSPgg4xLxj9jjfY= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2 h1:RKRKwSpU8spBERYNlUn9BcTL3dbTLeJM1xL2H7NexnI= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2/go.mod h1:/9CRoChrQMU+mpu0BlQ7ldT7ml/ztqtoprhoEyQxJLw= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 h1:tPISli81nuvLc5DPqgpvYPSjTySV0wXtMtkfdNXG4CU= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5/go.mod h1:G/UD3tzPzzu79MiFWUYqogxdLMB+YArNHR6Yqz7Cqr0= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 h1:nsC6oA1whA4ibxEuD+0Osngmnpz8dLdV6bv+9jYP4Eo= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2/go.mod h1:WA6QlAAQ8aaw81W0VSVoDrxOfchGkdtmn2jQL/ub/50= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 h1:zk+47GhutK2ajO4Yiek0laGm2PdXvY8BvFZc8yHFnSE= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1/go.mod h1:vapb/sJqbHlf+c7pZWdE9GqrbyI8wesGvUc9o7oJ1Xk= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3 h1:CAgu3Wsmo8pA1/VWqnqLftMn7X26uDs5zctTci4WG7A= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3/go.mod h1:VC3vqIQIDN+8SAzhlMdrK4eXeiSaNE1JtjIGFzpgiRI= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 h1:uQIpj0phDRGrV78/vhtULwxaO2cBdHwqZcFKYUrH1Hs= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2/go.mod h1:rPwdDiCx0eZ+yKiy6Wo6uv76LuCgFlQxkomvun1c740= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3 h1:a9XjDC01il+3IDQIDgg5qcJBYcsu5rrTJyMfJZPyvCg= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3/go.mod h1:tjbSLF5+5JFx+qNazqhakqfPlCZPzque9R4XqRZzTRc= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3 h1:AcJSIEu1QCzRughJLzVjRP5ICop0DkvV2TgFb9LS7/c= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3/go.mod h1:DLXqpz1WhmOergfOLMJ4pybozz33ysOZNIO7fv9Wtfc= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2 h1:VDIXOvRNmSYMeF0qQ2+w4/ez04YutVDz73hSMuuOJ54= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2/go.mod h1:9zyEzPL4DnmU/SHq+SuMWTSO5BPxM1Z4g8Fp28n00ds= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0 h1:yw6UnfDlUq6//jdOW8peoCz9tyrG0xXL4rwizcjXmi8= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0/go.mod h1:eVylZQs1NCNgfQl4Cb+pJoN6bGUg/tOpC5UZiAN36pU= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 h1:8cFo0UG2r9kWwUAHRBTAG5wEt4G80+wkWdjQW6DhU6Y= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0/go.mod h1:dMBt/b/LXfXTDLQTCW6PRhBlbl41q7XS+5mAyBezSJk= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4 h1:HbV75SJtvpQPKKLrHswqipF4gHpEuH8b5NtGgVRI5MI= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4/go.mod h1:MKUfkOdJkkC7qZV0inkyaVAHy2yye3PcO2YYk7e7Zso= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0 h1:Tg7sKlkJUOcOTsO+QtAfk8cazBlOrVdcQr0NP4QIrRY= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0/go.mod h1:1l/ViyPvQ7xBnKp/ca3c5um8l5hZCRc7E2E9UNVrMSg= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4 h1:QunmGUncxdWpsgT7SFaIIhZOicq4eFtOm0itI8I6Mm4= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4/go.mod h1:vOZc19aIZCajXUDxCqwacKJPiI5YvbrDuwT7uBEc/ps= +github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3 h1:Mjj+U8WYuSbNKFKduyyVhgRla10qM0MEXzEF8mVtNCo= +github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3/go.mod h1:UCzgeCjg29vHecR2KCJ634Aj2Tc4vGOVIiAeMUmKUY0= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6 h1:SVRCVrbcn07p8BVJv1MxJ0ji8BzsmTtE1VIMGxWIbEE= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6/go.mod h1:Nk7FmNqvNgGG1yxxaiXuZ/9Y8moKWjnlYGeihNSCvd8= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3 h1:t2ZDnpwe+2rSXeFbpo/CM1EDs0roDOtUZoMgxKXvSQI= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3/go.mod h1:6RTkmbnVfG0ecFTS0oK3+JxJ1JEx98NP8jSbl0Qwjdc= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 h1:FKeW3uiMXRl6Oau3xE6yBriXh4t7CwPb8QH6PR0uQXM= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1/go.mod h1:RiknJnL3OuU9wb2lyb80Hu+EnlyDQMG8vejDV7B9a5U= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 h1:ppmezCAc8XBW6sdS5lvV6Edx0FOPwC/fosvH3FEIdps= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4/go.mod h1:c509eL4M/Qdg4FGT6qTh7r4E07FtB2Ui3sbbLERUBqk= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3 h1:SsjJQPQ7Xtpr64CH1Cjifs5r2ogfzrFzHBWOtNmilSA= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3/go.mod h1:q83l1YJjQPkg0AMZGOLFW/H3ICWFik37tMRV/LgX8PE= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4 h1:7q+K1vbUxZjC0eUg5hAg++OVB8RpQhSerX+nuvMYDI0= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4/go.mod h1:GE4q9QaKgKFe4CcyYEi3EC2yM1hv0OE/gRGQEomQBEU= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4 h1:nWwKxhkwpDKUx3kX6DOIDmQmak7/flAX2cBf6snoFoU= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4/go.mod h1:p2OGTqy41M9/pTmoRC3hr7p/xS95Ctdmf3FsB5HHq4U= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3 h1:83W+OFFnun/8CreT0gxCHDgI7TfU5juU/hMs7kOmYFQ= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3/go.mod h1:C9fJVAR09G34tNwUlzV65TEug+F8QUru6REWHgPYasc= +github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1 h1:1CMEzli6xvrouvDhtHMzcl/qcmHH5C6Y2FQw01LIWjg= +github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1/go.mod h1:+fgIvT6/kKEHXMkrBXx9cRDP8/dZ37yn1wYSwZ6rOQw= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1 h1:G2KhPbC+IDWa35qPnYqrP9pAkZXzclNL44E2gPIrZ0o= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1/go.mod h1:kISQzDKxzNZcj0ShgvUpkk7QRbG6tSVUijdgszTqEFc= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6 h1:9idmXyZVnshvF03lpftpvRhzfiaIS4gQMLIFqU5kRr0= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6/go.mod h1:I4j+7qq2zJjN1yoPTJCNmfK1JJJnB+uOTwvHUX7+Xp0= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 h1:1gLKXD91qOYUpackMuu0PdRwrm2Z8vFK+k8H7SF0xbg= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3/go.mod h1:V34YusCRsq/3bJ/HxUk0wslLjVWWE/QVe70AZ+XrDPE= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 h1:XV3pPXpdvQjR5Z90FFutU4iqCHfejDYQAL840Y4ztLM= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3/go.mod h1:YNJJ1jwBWjEdLH6vECuzoslJY9jQThIvDvTa30J3D0U= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4 h1:h4aSfJPMBBcXrG/BZiLLZRvvGJesRdll4bLP7jetuKA= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4/go.mod h1:Iv+svIxk5baXnvrEdvVl5JZri6a3H/2OrQDlRWmUFMI= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 h1:DRp1p0Gb1YZSnFXgkiKTHQD9bFfqn6OC3PcsDjqGJiw= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0/go.mod h1:XHOtGgBwwCqPSoQt2ojIRb/BeOd4kICwb9RuMXXFGt8= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 h1:Dab1jzN0u9c67lvELoWf1RuagjO3eUBRytoX8SYL8Zs= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0/go.mod h1:NzcTU5GGlUF6Lys3Ra7ylRj4ZKxJr3f/29/yoE5tjPI= +github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4 h1:iwvZDes550r7CogpDHFPtg4gWUJspBb3lr7uEchMMRw= +github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4/go.mod h1:6LiqSDha0bjuqchBpGOlJ/4efGGadmi1jB/mpa5s3Ls= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6 h1:WU76mZkJP6diMDjGFqM8On6fZhUDmGcy6ppX0+kWx9Y= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6/go.mod h1:hRllU+yEJM6ovrLeXwVeT5hI70ftPKjX4z/Nj8TZqJw= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5 h1:P2lqx/WGqwTDQVPxFh4NbU6ygg52J33ClIDrCFWomAc= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5/go.mod h1:hwk3gEL1l9dVM4HWGaV8eM+Yxb4dEFENPN15LYP85gI= +github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0 h1:4567q2dFp3Hw+5Kx+NLDKDcMWsRHMazTlh5aBrhlkXs= +github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0/go.mod h1:r5lBwzJpJe2xBIYctkVIIpaZ41Y6vUEpkmsWR2VoQJs= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1 h1:gWC/4rCroldoHtlSu1WMhYOZqXsNSoVCiLr/uQcIN1I= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1/go.mod h1:gMb+Jx6OmkZ12GxVXf8UffSVQbkc+OO/Ml6AXz9ifhg= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1 h1:6MJdy1xmdE+uOo/F8mR5HSldjPSHpdhwuqS3u9m2EWQ= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1/go.mod h1:XLr3ZfrT1g8ZZMm7A6RXOPBuhBkikdUN2o/+/Y+Hu+g= -github.com/stackitcloud/terraform-provider-stackit v0.79.1 h1:xAzqWIyqNYMJo/ilL6wUTLnyLqfRF3nqN5lxVWGAPnE= -github.com/stackitcloud/terraform-provider-stackit v0.79.1/go.mod h1:38qCrxpvHerojyzdZ0PndETEr8VwgXiZXqPsk6VphQk= +github.com/stackitcloud/terraform-provider-stackit v0.80.0 h1:tl0tx8OHhZL92GE1iHEpXO3gVZYNsx9WlhwLuL1aC8Q= +github.com/stackitcloud/terraform-provider-stackit v0.80.0/go.mod h1:vk4zcxlTm19DX6nNWZdNPiPyJc5175PJiLUbLBGisGQ= 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 d1dedb1..879f62a 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,20 +4,20 @@ go 1.24.0 toolchain go1.24.2 -require github.com/stackitcloud/terraform-provider-stackit v0.79.1 +require github.com/stackitcloud/terraform-provider-stackit v0.80.0 require ( - github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0 // indirect ) require ( github.com/agext/levenshtein v1.2.3 // indirect github.com/fatih/color v1.18.0 // indirect - github.com/golang-jwt/jwt/v5 v5.3.0 // indirect + github.com/golang-jwt/jwt/v5 v5.3.1 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hashicorp/go-hclog v1.6.3 // indirect @@ -28,30 +28,30 @@ require ( github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect - github.com/stackitcloud/stackit-sdk-go/core v0.21.0 // indirect + github.com/stackitcloud/stackit-sdk-go/core v0.21.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4 // indirect github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2 // indirect github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 // indirect - github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6 // indirect + github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5 // indirect + github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1 // indirect github.com/teambition/rrule-go v1.8.2 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 0360a4f..f8349ab 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -10,8 +10,8 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1 github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= -github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= -github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY= +github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= @@ -82,68 +82,68 @@ github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E= github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/stackitcloud/stackit-sdk-go/core v0.21.0 h1:QXZqiaO7U/4IpTkJfzt4dt6QxJzG2uUS12mBnHpYNik= -github.com/stackitcloud/stackit-sdk-go/core v0.21.0/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= +github.com/stackitcloud/stackit-sdk-go/core v0.21.1 h1:Y/PcAgM7DPYMNqum0MLv4n1mF9ieuevzcCIZYQfm3Ts= +github.com/stackitcloud/stackit-sdk-go/core v0.21.1/go.mod h1:osMglDby4csGZ5sIfhNyYq1bS1TxIdPY88+skE/kkmI= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1 h1:gMAZURshmPGIIkLbZQYq+wvr+tAGa5Jdd2xyTpFtGUo= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.1/go.mod h1:/gj9PeF6294awSPeYokbHfZbcWK+6Dr4DQO2Z37eYQU= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1 h1:PiNC8VmLqi1WUnBSPefjDXThD43Fvb87p+Y6H8onGA0= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.1/go.mod h1:Nnfe/Zv4Z8F56Ljw/MfXjL0/2Ajia4bGuL/CZuvIXk8= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 h1:KD/FxU/cJIzfyMvwiOvTlSWq87ISENpHNmw/quznGnw= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3/go.mod h1:BNiIZkDqwSV1LkWDjMKxVb9pxQ/HMIsXJ0AQ8pFoAo4= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 h1:+96JOe4oS9BhdH4kHfc5jcl9DVIZiHrMN0/PXn8uWoI= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0/go.mod h1:tFDkVkK+ESBTiH2XIcMPPR/pJJmeqT1VNDghg+ZxfMI= +github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2 h1:Xp4FxCBiTQhqed2tB26fRJJTQST2NwDTiXiacqeTfMI= +github.com/stackitcloud/stackit-sdk-go/services/cdn v1.9.2/go.mod h1:aoFctJ6HPLUqJxOumwFFTPHykpSBx35wR/raw7rjp9k= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4 h1:XIPjrjUemYEf29EXMl9kk/X1uqND8VhvM5qrWdYleYM= +github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.4/go.mod h1:HstEWjyE3Pr2mVdzfx/BvVo3XUisllN+GRr0F52scB8= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1 h1:BniqPDK1pjqXFq07JL5L9IpWFxaOp/5kxptnXKsb/Ks= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.1/go.mod h1:UY3xF2A9jkaBoQgLdrAcMn0rCiZdmLAO3edWJUGjjqI= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 h1:3JKXfI5hdcXcRVBjUZg5qprXG5rDmPnM6dsvplMk/vg= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1/go.mod h1:3nTaj8IGjNNGYUD2CpuXkXwc5c4giTUmoPggFhjVFxo= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 h1:U/x0tc487X9msMS5yZYjrBAAKrCx87Trmt0kh8JiARA= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0/go.mod h1:6+5+RCDfU7eQN3+/SGdOtx7Bq9dEa2FrHz/jflgY1M4= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 h1:Ar2n9GKmrTN80G/Ta1R+fL5aX5nEoxL6ODVJl3emzho= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0/go.mod h1:sHMFoYvVrkRZcH13DkLvp48nW+ssRVVVuwqJHDGpa5M= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2 h1:bdjhr77dlp02OWqlzaju4QG8nNraT4bWsxKtGWcQ2EI= +github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.2/go.mod h1:VlDVK/MW8Obgacl5UPrfB8MSIfu4rS/fSYPI1i/fDac= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0 h1:CMwegmCMidg1yrNy8NtEdMQ/9+28GwI/gOCT3isynls= +github.com/stackitcloud/stackit-sdk-go/services/kms v1.3.0/go.mod h1:Kuem2KiTGZL1i6kL9LLOlvA9M+SatKaJbNWQ7o87Px4= github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1 h1:2UKKtBg+E5IFUcZAkRyKz1Km+tsA//zGjFQjVWwaXss= github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.1/go.mod h1:3/7s4cDhMBY7u84XjD9aUm649aoPhsBsjfPG/WDUujY= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 h1:fUQLWs2WsXFh+FtFDYOm1kv/gJrGBZLjhVOXJOuYfFY= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3/go.mod h1:305j9bvzJ+3c4csOw4SUfLSSxRbkpL0osbvqMI89FeM= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0 h1:EOUVSKvu/m5N+psxeB69IIpANev/jw6HIw2yfh/HO7w= -github.com/stackitcloud/stackit-sdk-go/services/logs v0.4.0/go.mod h1:m4IjH1/RtJOF072kjAB0E/ejoIc++myrKmIahphfO6Q= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 h1:Y5Ct3Zi5UcIOwjKMWpKl0nrqiq7psTf4NJv0IKgwTkc= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3/go.mod h1:TMl5WcpjzUiAlLWaxMKbu9ysDzFziSPgg4xLxj9jjfY= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2 h1:RKRKwSpU8spBERYNlUn9BcTL3dbTLeJM1xL2H7NexnI= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.2/go.mod h1:/9CRoChrQMU+mpu0BlQ7ldT7ml/ztqtoprhoEyQxJLw= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5 h1:tPISli81nuvLc5DPqgpvYPSjTySV0wXtMtkfdNXG4CU= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.5/go.mod h1:G/UD3tzPzzu79MiFWUYqogxdLMB+YArNHR6Yqz7Cqr0= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 h1:nsC6oA1whA4ibxEuD+0Osngmnpz8dLdV6bv+9jYP4Eo= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2/go.mod h1:WA6QlAAQ8aaw81W0VSVoDrxOfchGkdtmn2jQL/ub/50= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1 h1:zk+47GhutK2ajO4Yiek0laGm2PdXvY8BvFZc8yHFnSE= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.1/go.mod h1:vapb/sJqbHlf+c7pZWdE9GqrbyI8wesGvUc9o7oJ1Xk= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3 h1:CAgu3Wsmo8pA1/VWqnqLftMn7X26uDs5zctTci4WG7A= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.3/go.mod h1:VC3vqIQIDN+8SAzhlMdrK4eXeiSaNE1JtjIGFzpgiRI= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2 h1:uQIpj0phDRGrV78/vhtULwxaO2cBdHwqZcFKYUrH1Hs= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.2/go.mod h1:rPwdDiCx0eZ+yKiy6Wo6uv76LuCgFlQxkomvun1c740= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3 h1:a9XjDC01il+3IDQIDgg5qcJBYcsu5rrTJyMfJZPyvCg= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.3/go.mod h1:tjbSLF5+5JFx+qNazqhakqfPlCZPzque9R4XqRZzTRc= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3 h1:AcJSIEu1QCzRughJLzVjRP5ICop0DkvV2TgFb9LS7/c= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.3/go.mod h1:DLXqpz1WhmOergfOLMJ4pybozz33ysOZNIO7fv9Wtfc= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2 h1:VDIXOvRNmSYMeF0qQ2+w4/ez04YutVDz73hSMuuOJ54= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2/go.mod h1:9zyEzPL4DnmU/SHq+SuMWTSO5BPxM1Z4g8Fp28n00ds= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0 h1:yw6UnfDlUq6//jdOW8peoCz9tyrG0xXL4rwizcjXmi8= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.0/go.mod h1:eVylZQs1NCNgfQl4Cb+pJoN6bGUg/tOpC5UZiAN36pU= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 h1:8cFo0UG2r9kWwUAHRBTAG5wEt4G80+wkWdjQW6DhU6Y= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0/go.mod h1:dMBt/b/LXfXTDLQTCW6PRhBlbl41q7XS+5mAyBezSJk= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4 h1:HbV75SJtvpQPKKLrHswqipF4gHpEuH8b5NtGgVRI5MI= +github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.4/go.mod h1:MKUfkOdJkkC7qZV0inkyaVAHy2yye3PcO2YYk7e7Zso= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0 h1:Tg7sKlkJUOcOTsO+QtAfk8cazBlOrVdcQr0NP4QIrRY= +github.com/stackitcloud/stackit-sdk-go/services/logs v0.5.0/go.mod h1:1l/ViyPvQ7xBnKp/ca3c5um8l5hZCRc7E2E9UNVrMSg= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4 h1:QunmGUncxdWpsgT7SFaIIhZOicq4eFtOm0itI8I6Mm4= +github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.4/go.mod h1:vOZc19aIZCajXUDxCqwacKJPiI5YvbrDuwT7uBEc/ps= +github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3 h1:Mjj+U8WYuSbNKFKduyyVhgRla10qM0MEXzEF8mVtNCo= +github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.3/go.mod h1:UCzgeCjg29vHecR2KCJ634Aj2Tc4vGOVIiAeMUmKUY0= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6 h1:SVRCVrbcn07p8BVJv1MxJ0ji8BzsmTtE1VIMGxWIbEE= +github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.6/go.mod h1:Nk7FmNqvNgGG1yxxaiXuZ/9Y8moKWjnlYGeihNSCvd8= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3 h1:t2ZDnpwe+2rSXeFbpo/CM1EDs0roDOtUZoMgxKXvSQI= +github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.3/go.mod h1:6RTkmbnVfG0ecFTS0oK3+JxJ1JEx98NP8jSbl0Qwjdc= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1 h1:FKeW3uiMXRl6Oau3xE6yBriXh4t7CwPb8QH6PR0uQXM= +github.com/stackitcloud/stackit-sdk-go/services/observability v0.16.1/go.mod h1:RiknJnL3OuU9wb2lyb80Hu+EnlyDQMG8vejDV7B9a5U= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4 h1:ppmezCAc8XBW6sdS5lvV6Edx0FOPwC/fosvH3FEIdps= +github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.4/go.mod h1:c509eL4M/Qdg4FGT6qTh7r4E07FtB2Ui3sbbLERUBqk= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3 h1:SsjJQPQ7Xtpr64CH1Cjifs5r2ogfzrFzHBWOtNmilSA= +github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.3.3/go.mod h1:q83l1YJjQPkg0AMZGOLFW/H3ICWFik37tMRV/LgX8PE= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4 h1:7q+K1vbUxZjC0eUg5hAg++OVB8RpQhSerX+nuvMYDI0= +github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.4/go.mod h1:GE4q9QaKgKFe4CcyYEi3EC2yM1hv0OE/gRGQEomQBEU= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4 h1:nWwKxhkwpDKUx3kX6DOIDmQmak7/flAX2cBf6snoFoU= +github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.4/go.mod h1:p2OGTqy41M9/pTmoRC3hr7p/xS95Ctdmf3FsB5HHq4U= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3 h1:83W+OFFnun/8CreT0gxCHDgI7TfU5juU/hMs7kOmYFQ= +github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.3/go.mod h1:C9fJVAR09G34tNwUlzV65TEug+F8QUru6REWHgPYasc= +github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1 h1:1CMEzli6xvrouvDhtHMzcl/qcmHH5C6Y2FQw01LIWjg= +github.com/stackitcloud/stackit-sdk-go/services/scf v0.4.1/go.mod h1:+fgIvT6/kKEHXMkrBXx9cRDP8/dZ37yn1wYSwZ6rOQw= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1 h1:G2KhPbC+IDWa35qPnYqrP9pAkZXzclNL44E2gPIrZ0o= +github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.1/go.mod h1:kISQzDKxzNZcj0ShgvUpkk7QRbG6tSVUijdgszTqEFc= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6 h1:9idmXyZVnshvF03lpftpvRhzfiaIS4gQMLIFqU5kRr0= github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.6/go.mod h1:I4j+7qq2zJjN1yoPTJCNmfK1JJJnB+uOTwvHUX7+Xp0= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 h1:1gLKXD91qOYUpackMuu0PdRwrm2Z8vFK+k8H7SF0xbg= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3/go.mod h1:V34YusCRsq/3bJ/HxUk0wslLjVWWE/QVe70AZ+XrDPE= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 h1:XV3pPXpdvQjR5Z90FFutU4iqCHfejDYQAL840Y4ztLM= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3/go.mod h1:YNJJ1jwBWjEdLH6vECuzoslJY9jQThIvDvTa30J3D0U= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4 h1:h4aSfJPMBBcXrG/BZiLLZRvvGJesRdll4bLP7jetuKA= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4/go.mod h1:Iv+svIxk5baXnvrEdvVl5JZri6a3H/2OrQDlRWmUFMI= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 h1:DRp1p0Gb1YZSnFXgkiKTHQD9bFfqn6OC3PcsDjqGJiw= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0/go.mod h1:XHOtGgBwwCqPSoQt2ojIRb/BeOd4kICwb9RuMXXFGt8= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 h1:Dab1jzN0u9c67lvELoWf1RuagjO3eUBRytoX8SYL8Zs= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0/go.mod h1:NzcTU5GGlUF6Lys3Ra7ylRj4ZKxJr3f/29/yoE5tjPI= +github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4 h1:iwvZDes550r7CogpDHFPtg4gWUJspBb3lr7uEchMMRw= +github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.4/go.mod h1:6LiqSDha0bjuqchBpGOlJ/4efGGadmi1jB/mpa5s3Ls= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6 h1:WU76mZkJP6diMDjGFqM8On6fZhUDmGcy6ppX0+kWx9Y= +github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.6/go.mod h1:hRllU+yEJM6ovrLeXwVeT5hI70ftPKjX4z/Nj8TZqJw= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5 h1:P2lqx/WGqwTDQVPxFh4NbU6ygg52J33ClIDrCFWomAc= +github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.5/go.mod h1:hwk3gEL1l9dVM4HWGaV8eM+Yxb4dEFENPN15LYP85gI= +github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0 h1:4567q2dFp3Hw+5Kx+NLDKDcMWsRHMazTlh5aBrhlkXs= +github.com/stackitcloud/stackit-sdk-go/services/sfs v0.3.0/go.mod h1:r5lBwzJpJe2xBIYctkVIIpaZ41Y6vUEpkmsWR2VoQJs= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1 h1:gWC/4rCroldoHtlSu1WMhYOZqXsNSoVCiLr/uQcIN1I= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.1/go.mod h1:gMb+Jx6OmkZ12GxVXf8UffSVQbkc+OO/Ml6AXz9ifhg= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1 h1:6MJdy1xmdE+uOo/F8mR5HSldjPSHpdhwuqS3u9m2EWQ= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.1/go.mod h1:XLr3ZfrT1g8ZZMm7A6RXOPBuhBkikdUN2o/+/Y+Hu+g= -github.com/stackitcloud/terraform-provider-stackit v0.79.1 h1:xAzqWIyqNYMJo/ilL6wUTLnyLqfRF3nqN5lxVWGAPnE= -github.com/stackitcloud/terraform-provider-stackit v0.79.1/go.mod h1:38qCrxpvHerojyzdZ0PndETEr8VwgXiZXqPsk6VphQk= +github.com/stackitcloud/terraform-provider-stackit v0.80.0 h1:tl0tx8OHhZL92GE1iHEpXO3gVZYNsx9WlhwLuL1aC8Q= +github.com/stackitcloud/terraform-provider-stackit v0.80.0/go.mod h1:vk4zcxlTm19DX6nNWZdNPiPyJc5175PJiLUbLBGisGQ= 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.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= diff --git a/sdk/dotnet/AuthorizationProjectCustomRole.cs b/sdk/dotnet/AuthorizationProjectCustomRole.cs new file mode 100644 index 0000000..6c840e7 --- /dev/null +++ b/sdk/dotnet/AuthorizationProjectCustomRole.cs @@ -0,0 +1,176 @@ +// *** 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 +{ + /// + /// Custom Role resource schema. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole")] + public partial class AuthorizationProjectCustomRole : global::Pulumi.CustomResource + { + /// + /// A human readable description of the role. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Name of the role + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Permissions for the role + /// + [Output("permissions")] + public Output> Permissions { get; private set; } = null!; + + /// + /// Resource to add the custom role to. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// The ID of the role. + /// + [Output("roleId")] + public Output RoleId { get; private set; } = null!; + + + /// + /// Create a AuthorizationProjectCustomRole 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 AuthorizationProjectCustomRole(string name, AuthorizationProjectCustomRoleArgs args, CustomResourceOptions? options = null) + : base("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole", name, args ?? new AuthorizationProjectCustomRoleArgs(), MakeResourceOptions(options, "")) + { + } + + private AuthorizationProjectCustomRole(string name, Input id, AuthorizationProjectCustomRoleState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole", 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 AuthorizationProjectCustomRole 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 AuthorizationProjectCustomRole Get(string name, Input id, AuthorizationProjectCustomRoleState? state = null, CustomResourceOptions? options = null) + { + return new AuthorizationProjectCustomRole(name, id, state, options); + } + } + + public sealed class AuthorizationProjectCustomRoleArgs : global::Pulumi.ResourceArgs + { + /// + /// A human readable description of the role. + /// + [Input("description", required: true)] + public Input Description { get; set; } = null!; + + /// + /// Name of the role + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("permissions", required: true)] + private InputList? _permissions; + + /// + /// Permissions for the role + /// + public InputList Permissions + { + get => _permissions ?? (_permissions = new InputList()); + set => _permissions = value; + } + + /// + /// Resource to add the custom role to. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + public AuthorizationProjectCustomRoleArgs() + { + } + public static new AuthorizationProjectCustomRoleArgs Empty => new AuthorizationProjectCustomRoleArgs(); + } + + public sealed class AuthorizationProjectCustomRoleState : global::Pulumi.ResourceArgs + { + /// + /// A human readable description of the role. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Name of the role + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("permissions")] + private InputList? _permissions; + + /// + /// Permissions for the role + /// + public InputList Permissions + { + get => _permissions ?? (_permissions = new InputList()); + set => _permissions = value; + } + + /// + /// Resource to add the custom role to. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// The ID of the role. + /// + [Input("roleId")] + public Input? RoleId { get; set; } + + public AuthorizationProjectCustomRoleState() + { + } + public static new AuthorizationProjectCustomRoleState Empty => new AuthorizationProjectCustomRoleState(); + } +} diff --git a/sdk/dotnet/GetAuthorizationProjectCustomRole.cs b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs new file mode 100644 index 0000000..a5b5ed3 --- /dev/null +++ b/sdk/dotnet/GetAuthorizationProjectCustomRole.cs @@ -0,0 +1,149 @@ +// *** 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 +{ + public static class GetAuthorizationProjectCustomRole + { + /// + /// Custom Role resource schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_authorization_project_custom_role" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "my.custom.role" + /// } + /// ``` + /// + public static Task InvokeAsync(GetAuthorizationProjectCustomRoleArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", args ?? new GetAuthorizationProjectCustomRoleArgs(), options.WithDefaults()); + + /// + /// Custom Role resource schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_authorization_project_custom_role" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "my.custom.role" + /// } + /// ``` + /// + public static Output Invoke(GetAuthorizationProjectCustomRoleInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", args ?? new GetAuthorizationProjectCustomRoleInvokeArgs(), options.WithDefaults()); + + /// + /// Custom Role resource schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_authorization_project_custom_role" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "my.custom.role" + /// } + /// ``` + /// + public static Output Invoke(GetAuthorizationProjectCustomRoleInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", args ?? new GetAuthorizationProjectCustomRoleInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetAuthorizationProjectCustomRoleArgs : global::Pulumi.InvokeArgs + { + /// + /// Resource to add the custom role to. + /// + [Input("resourceId", required: true)] + public string ResourceId { get; set; } = null!; + + /// + /// The ID of the role. + /// + [Input("roleId", required: true)] + public string RoleId { get; set; } = null!; + + public GetAuthorizationProjectCustomRoleArgs() + { + } + public static new GetAuthorizationProjectCustomRoleArgs Empty => new GetAuthorizationProjectCustomRoleArgs(); + } + + public sealed class GetAuthorizationProjectCustomRoleInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Resource to add the custom role to. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// The ID of the role. + /// + [Input("roleId", required: true)] + public Input RoleId { get; set; } = null!; + + public GetAuthorizationProjectCustomRoleInvokeArgs() + { + } + public static new GetAuthorizationProjectCustomRoleInvokeArgs Empty => new GetAuthorizationProjectCustomRoleInvokeArgs(); + } + + + [OutputType] + public sealed class GetAuthorizationProjectCustomRoleResult + { + /// + /// A human readable description of the role. + /// + public readonly string Description; + public readonly string Id; + /// + /// Name of the role + /// + public readonly string Name; + /// + /// Permissions for the role + /// + public readonly ImmutableArray Permissions; + /// + /// Resource to add the custom role to. + /// + public readonly string ResourceId; + /// + /// The ID of the role. + /// + public readonly string RoleId; + + [OutputConstructor] + private GetAuthorizationProjectCustomRoleResult( + string description, + + string id, + + string name, + + ImmutableArray permissions, + + string resourceId, + + string roleId) + { + Description = description; + Id = id; + Name = name; + Permissions = permissions; + ResourceId = resourceId; + RoleId = roleId; + } + } +} diff --git a/sdk/dotnet/GetObservabilityInstance.cs b/sdk/dotnet/GetObservabilityInstance.cs index 6c18bf5..c878129 100644 --- a/sdk/dotnet/GetObservabilityInstance.cs +++ b/sdk/dotnet/GetObservabilityInstance.cs @@ -119,13 +119,9 @@ public sealed class GetObservabilityInstanceResult /// public readonly string DashboardUrl; /// - /// Specifies an initial Grafana admin password. + /// If true, a default Grafana server admin user was created. /// - public readonly string GrafanaInitialAdminPassword; - /// - /// Specifies an initial Grafana admin username. - /// - public readonly string GrafanaInitialAdminUser; + public readonly bool GrafanaAdminEnabled; /// /// If true, anyone can access Grafana dashboards without logging in. /// @@ -218,9 +214,7 @@ private GetObservabilityInstanceResult( string dashboardUrl, - string grafanaInitialAdminPassword, - - string grafanaInitialAdminUser, + bool grafanaAdminEnabled, bool grafanaPublicReadAccess, @@ -274,8 +268,7 @@ private GetObservabilityInstanceResult( AlertConfig = alertConfig; AlertingUrl = alertingUrl; DashboardUrl = dashboardUrl; - GrafanaInitialAdminPassword = grafanaInitialAdminPassword; - GrafanaInitialAdminUser = grafanaInitialAdminUser; + GrafanaAdminEnabled = grafanaAdminEnabled; GrafanaPublicReadAccess = grafanaPublicReadAccess; GrafanaUrl = grafanaUrl; Id = id; diff --git a/sdk/dotnet/GetSkeKubernetesVersions.cs b/sdk/dotnet/GetSkeKubernetesVersions.cs new file mode 100644 index 0000000..66942a6 --- /dev/null +++ b/sdk/dotnet/GetSkeKubernetesVersions.cs @@ -0,0 +1,192 @@ +// *** 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 +{ + public static class GetSkeKubernetesVersions + { + /// + /// Returns Kubernetes versions as reported by the SKE provider options API for the given region. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_kubernetes_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = "x.x.x" + /// os_name = "xxx" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Task InvokeAsync(GetSkeKubernetesVersionsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", args ?? new GetSkeKubernetesVersionsArgs(), options.WithDefaults()); + + /// + /// Returns Kubernetes versions as reported by the SKE provider options API for the given region. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_kubernetes_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = "x.x.x" + /// os_name = "xxx" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Output Invoke(GetSkeKubernetesVersionsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", args ?? new GetSkeKubernetesVersionsInvokeArgs(), options.WithDefaults()); + + /// + /// Returns Kubernetes versions as reported by the SKE provider options API for the given region. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_kubernetes_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = "x.x.x" + /// os_name = "xxx" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Output Invoke(GetSkeKubernetesVersionsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", args ?? new GetSkeKubernetesVersionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSkeKubernetesVersionsArgs : global::Pulumi.InvokeArgs + { + /// + /// Region override. If omitted, the provider’s region will be used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + [Input("versionState")] + public string? VersionState { get; set; } + + public GetSkeKubernetesVersionsArgs() + { + } + public static new GetSkeKubernetesVersionsArgs Empty => new GetSkeKubernetesVersionsArgs(); + } + + public sealed class GetSkeKubernetesVersionsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Region override. If omitted, the provider’s region will be used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + [Input("versionState")] + public Input? VersionState { get; set; } + + public GetSkeKubernetesVersionsInvokeArgs() + { + } + public static new GetSkeKubernetesVersionsInvokeArgs Empty => new GetSkeKubernetesVersionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetSkeKubernetesVersionsResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Kubernetes versions and their metadata. + /// + public readonly ImmutableArray KubernetesVersions; + /// + /// Region override. If omitted, the provider’s region will be used. + /// + public readonly string? Region; + /// + /// If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + public readonly string? VersionState; + + [OutputConstructor] + private GetSkeKubernetesVersionsResult( + string id, + + ImmutableArray kubernetesVersions, + + string? region, + + string? versionState) + { + Id = id; + KubernetesVersions = kubernetesVersions; + Region = region; + VersionState = versionState; + } + } +} diff --git a/sdk/dotnet/GetSkeMachineImageVersions.cs b/sdk/dotnet/GetSkeMachineImageVersions.cs new file mode 100644 index 0000000..7c13fa9 --- /dev/null +++ b/sdk/dotnet/GetSkeMachineImageVersions.cs @@ -0,0 +1,222 @@ +// *** 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 +{ + public static class GetSkeMachineImageVersions + { + /// + /// Returns a list of supported Kubernetes machine image versions for the cluster nodes. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_machine_image_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// locals { + /// flatcar_supported_version = one(flatten([ + /// for mi in data.stackit_ske_machine_image_versions.example.machine_images : [ + /// for v in mi.versions : + /// v.version + /// if mi.name == "flatcar" # or ubuntu + /// ] + /// ])) + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = "x.x" + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = local.flatcar_supported_version + /// os_name = "flatcar" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Task InvokeAsync(GetSkeMachineImageVersionsArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", args ?? new GetSkeMachineImageVersionsArgs(), options.WithDefaults()); + + /// + /// Returns a list of supported Kubernetes machine image versions for the cluster nodes. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_machine_image_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// locals { + /// flatcar_supported_version = one(flatten([ + /// for mi in data.stackit_ske_machine_image_versions.example.machine_images : [ + /// for v in mi.versions : + /// v.version + /// if mi.name == "flatcar" # or ubuntu + /// ] + /// ])) + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = "x.x" + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = local.flatcar_supported_version + /// os_name = "flatcar" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Output Invoke(GetSkeMachineImageVersionsInvokeArgs? args = null, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", args ?? new GetSkeMachineImageVersionsInvokeArgs(), options.WithDefaults()); + + /// + /// Returns a list of supported Kubernetes machine image versions for the cluster nodes. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_ske_machine_image_versions" "example" { + /// version_state = "SUPPORTED" + /// } + /// + /// locals { + /// flatcar_supported_version = one(flatten([ + /// for mi in data.stackit_ske_machine_image_versions.example.machine_images : [ + /// for v in mi.versions : + /// v.version + /// if mi.name == "flatcar" # or ubuntu + /// ] + /// ])) + /// } + /// + /// resource "stackit_ske_cluster" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// name = "example" + /// kubernetes_version = "x.x" + /// node_pools = [ + /// { + /// name = "np-example" + /// machine_type = "x.x" + /// os_version = local.flatcar_supported_version + /// os_name = "flatcar" + /// minimum = "2" + /// maximum = "3" + /// availability_zones = ["eu01-1"] + /// volume_type = "storage_premium_perf6" + /// volume_size = "48" + /// } + /// ] + /// } + /// ``` + /// + public static Output Invoke(GetSkeMachineImageVersionsInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", args ?? new GetSkeMachineImageVersionsInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSkeMachineImageVersionsArgs : global::Pulumi.InvokeArgs + { + /// + /// Region override. If omitted, the provider’s region will be used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + [Input("versionState")] + public string? VersionState { get; set; } + + public GetSkeMachineImageVersionsArgs() + { + } + public static new GetSkeMachineImageVersionsArgs Empty => new GetSkeMachineImageVersionsArgs(); + } + + public sealed class GetSkeMachineImageVersionsInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Region override. If omitted, the provider’s region will be used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + [Input("versionState")] + public Input? VersionState { get; set; } + + public GetSkeMachineImageVersionsInvokeArgs() + { + } + public static new GetSkeMachineImageVersionsInvokeArgs Empty => new GetSkeMachineImageVersionsInvokeArgs(); + } + + + [OutputType] + public sealed class GetSkeMachineImageVersionsResult + { + /// + /// The provider-assigned unique ID for this managed resource. + /// + public readonly string Id; + /// + /// Supported machine image types and versions. + /// + public readonly ImmutableArray MachineImages; + /// + /// Region override. If omitted, the provider’s region will be used. + /// + public readonly string? Region; + /// + /// Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + /// + public readonly string? VersionState; + + [OutputConstructor] + private GetSkeMachineImageVersionsResult( + string id, + + ImmutableArray machineImages, + + string? region, + + string? versionState) + { + Id = id; + MachineImages = machineImages; + Region = region; + VersionState = versionState; + } + } +} diff --git a/sdk/dotnet/ObservabilityInstance.cs b/sdk/dotnet/ObservabilityInstance.cs index b0a9f92..6e51095 100644 --- a/sdk/dotnet/ObservabilityInstance.cs +++ b/sdk/dotnet/ObservabilityInstance.cs @@ -42,16 +42,10 @@ public partial class ObservabilityInstance : global::Pulumi.CustomResource public Output DashboardUrl { get; private set; } = null!; /// - /// Specifies an initial Grafana admin password. + /// If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. /// - [Output("grafanaInitialAdminPassword")] - public Output GrafanaInitialAdminPassword { get; private set; } = null!; - - /// - /// Specifies an initial Grafana admin username. - /// - [Output("grafanaInitialAdminUser")] - public Output GrafanaInitialAdminUser { get; private set; } = null!; + [Output("grafanaAdminEnabled")] + public Output GrafanaAdminEnabled { get; private set; } = null!; /// /// If true, anyone can access Grafana dashboards without logging in. @@ -203,10 +197,6 @@ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? { Version = Utilities.Version, PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", - AdditionalSecretOutputs = - { - "grafanaInitialAdminPassword", - }, }; var merged = CustomResourceOptions.Merge(defaultOptions, options); // Override the ID if one was specified for consistency with other language SDKs. @@ -248,6 +238,12 @@ public InputList Acls [Input("alertConfig")] public Input? AlertConfig { get; set; } + /// + /// If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + /// + [Input("grafanaAdminEnabled")] + public Input? GrafanaAdminEnabled { get; set; } + /// /// Specifies for how many days the logs are kept. Default is set to `7`. /// @@ -346,27 +342,11 @@ public InputList Acls [Input("dashboardUrl")] public Input? DashboardUrl { get; set; } - [Input("grafanaInitialAdminPassword")] - private Input? _grafanaInitialAdminPassword; - - /// - /// Specifies an initial Grafana admin password. - /// - public Input? GrafanaInitialAdminPassword - { - get => _grafanaInitialAdminPassword; - set - { - var emptySecret = Output.CreateSecret(0); - _grafanaInitialAdminPassword = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); - } - } - /// - /// Specifies an initial Grafana admin username. + /// If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. /// - [Input("grafanaInitialAdminUser")] - public Input? GrafanaInitialAdminUser { get; set; } + [Input("grafanaAdminEnabled")] + public Input? GrafanaAdminEnabled { get; set; } /// /// If true, anyone can access Grafana dashboards without logging in. diff --git a/sdk/dotnet/Outputs/GetSkeKubernetesVersionsKubernetesVersionResult.cs b/sdk/dotnet/Outputs/GetSkeKubernetesVersionsKubernetesVersionResult.cs new file mode 100644 index 0000000..ef01864 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSkeKubernetesVersionsKubernetesVersionResult.cs @@ -0,0 +1,49 @@ +// *** 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 GetSkeKubernetesVersionsKubernetesVersionResult + { + /// + /// Expiration date of the version in RFC3339 format. + /// + public readonly string ExpirationDate; + /// + /// Map of available feature gates for this version. + /// + public readonly ImmutableDictionary FeatureGates; + /// + /// State of the kubernetes version. + /// + public readonly string State; + /// + /// Kubernetes version string (e.g., `1.33.6`). + /// + public readonly string Version; + + [OutputConstructor] + private GetSkeKubernetesVersionsKubernetesVersionResult( + string expirationDate, + + ImmutableDictionary featureGates, + + string state, + + string version) + { + ExpirationDate = expirationDate; + FeatureGates = featureGates; + State = state; + Version = version; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageResult.cs b/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageResult.cs new file mode 100644 index 0000000..43712be --- /dev/null +++ b/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageResult.cs @@ -0,0 +1,35 @@ +// *** 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 GetSkeMachineImageVersionsMachineImageResult + { + /// + /// Name of the OS image (e.g., `Ubuntu` or `Flatcar`). + /// + public readonly string Name; + /// + /// Supported versions of the image. + /// + public readonly ImmutableArray Versions; + + [OutputConstructor] + private GetSkeMachineImageVersionsMachineImageResult( + string name, + + ImmutableArray versions) + { + Name = name; + Versions = versions; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageVersionResult.cs b/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageVersionResult.cs new file mode 100644 index 0000000..4cb972f --- /dev/null +++ b/sdk/dotnet/Outputs/GetSkeMachineImageVersionsMachineImageVersionResult.cs @@ -0,0 +1,49 @@ +// *** 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 GetSkeMachineImageVersionsMachineImageVersionResult + { + /// + /// Container runtimes supported (e.g., `Containerd`). + /// + public readonly ImmutableArray Cris; + /// + /// Expiration date of the version in RFC3339 format. + /// + public readonly string ExpirationDate; + /// + /// State of the image version. + /// + public readonly string State; + /// + /// Machine image version string. + /// + public readonly string Version; + + [OutputConstructor] + private GetSkeMachineImageVersionsMachineImageVersionResult( + ImmutableArray cris, + + string expirationDate, + + string state, + + string version) + { + Cris = cris; + ExpirationDate = expirationDate; + State = state; + Version = version; + } + } +} diff --git a/sdk/go/stackit/authorizationProjectCustomRole.go b/sdk/go/stackit/authorizationProjectCustomRole.go new file mode 100644 index 0000000..a9ef9a3 --- /dev/null +++ b/sdk/go/stackit/authorizationProjectCustomRole.go @@ -0,0 +1,283 @@ +// 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" +) + +// Custom Role resource schema. +// +// ## Example Usage +type AuthorizationProjectCustomRole struct { + pulumi.CustomResourceState + + // A human readable description of the role. + Description pulumi.StringOutput `pulumi:"description"` + // Name of the role + Name pulumi.StringOutput `pulumi:"name"` + // Permissions for the role + Permissions pulumi.StringArrayOutput `pulumi:"permissions"` + // Resource to add the custom role to. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // The ID of the role. + RoleId pulumi.StringOutput `pulumi:"roleId"` +} + +// NewAuthorizationProjectCustomRole registers a new resource with the given unique name, arguments, and options. +func NewAuthorizationProjectCustomRole(ctx *pulumi.Context, + name string, args *AuthorizationProjectCustomRoleArgs, opts ...pulumi.ResourceOption) (*AuthorizationProjectCustomRole, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Description == nil { + return nil, errors.New("invalid value for required argument 'Description'") + } + if args.Permissions == nil { + return nil, errors.New("invalid value for required argument 'Permissions'") + } + if args.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource AuthorizationProjectCustomRole + err := ctx.RegisterResource("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetAuthorizationProjectCustomRole gets an existing AuthorizationProjectCustomRole 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 GetAuthorizationProjectCustomRole(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *AuthorizationProjectCustomRoleState, opts ...pulumi.ResourceOption) (*AuthorizationProjectCustomRole, error) { + var resource AuthorizationProjectCustomRole + err := ctx.ReadResource("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering AuthorizationProjectCustomRole resources. +type authorizationProjectCustomRoleState struct { + // A human readable description of the role. + Description *string `pulumi:"description"` + // Name of the role + Name *string `pulumi:"name"` + // Permissions for the role + Permissions []string `pulumi:"permissions"` + // Resource to add the custom role to. + ResourceId *string `pulumi:"resourceId"` + // The ID of the role. + RoleId *string `pulumi:"roleId"` +} + +type AuthorizationProjectCustomRoleState struct { + // A human readable description of the role. + Description pulumi.StringPtrInput + // Name of the role + Name pulumi.StringPtrInput + // Permissions for the role + Permissions pulumi.StringArrayInput + // Resource to add the custom role to. + ResourceId pulumi.StringPtrInput + // The ID of the role. + RoleId pulumi.StringPtrInput +} + +func (AuthorizationProjectCustomRoleState) ElementType() reflect.Type { + return reflect.TypeOf((*authorizationProjectCustomRoleState)(nil)).Elem() +} + +type authorizationProjectCustomRoleArgs struct { + // A human readable description of the role. + Description string `pulumi:"description"` + // Name of the role + Name *string `pulumi:"name"` + // Permissions for the role + Permissions []string `pulumi:"permissions"` + // Resource to add the custom role to. + ResourceId string `pulumi:"resourceId"` +} + +// The set of arguments for constructing a AuthorizationProjectCustomRole resource. +type AuthorizationProjectCustomRoleArgs struct { + // A human readable description of the role. + Description pulumi.StringInput + // Name of the role + Name pulumi.StringPtrInput + // Permissions for the role + Permissions pulumi.StringArrayInput + // Resource to add the custom role to. + ResourceId pulumi.StringInput +} + +func (AuthorizationProjectCustomRoleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*authorizationProjectCustomRoleArgs)(nil)).Elem() +} + +type AuthorizationProjectCustomRoleInput interface { + pulumi.Input + + ToAuthorizationProjectCustomRoleOutput() AuthorizationProjectCustomRoleOutput + ToAuthorizationProjectCustomRoleOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleOutput +} + +func (*AuthorizationProjectCustomRole) ElementType() reflect.Type { + return reflect.TypeOf((**AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (i *AuthorizationProjectCustomRole) ToAuthorizationProjectCustomRoleOutput() AuthorizationProjectCustomRoleOutput { + return i.ToAuthorizationProjectCustomRoleOutputWithContext(context.Background()) +} + +func (i *AuthorizationProjectCustomRole) ToAuthorizationProjectCustomRoleOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationProjectCustomRoleOutput) +} + +// AuthorizationProjectCustomRoleArrayInput is an input type that accepts AuthorizationProjectCustomRoleArray and AuthorizationProjectCustomRoleArrayOutput values. +// You can construct a concrete instance of `AuthorizationProjectCustomRoleArrayInput` via: +// +// AuthorizationProjectCustomRoleArray{ AuthorizationProjectCustomRoleArgs{...} } +type AuthorizationProjectCustomRoleArrayInput interface { + pulumi.Input + + ToAuthorizationProjectCustomRoleArrayOutput() AuthorizationProjectCustomRoleArrayOutput + ToAuthorizationProjectCustomRoleArrayOutputWithContext(context.Context) AuthorizationProjectCustomRoleArrayOutput +} + +type AuthorizationProjectCustomRoleArray []AuthorizationProjectCustomRoleInput + +func (AuthorizationProjectCustomRoleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (i AuthorizationProjectCustomRoleArray) ToAuthorizationProjectCustomRoleArrayOutput() AuthorizationProjectCustomRoleArrayOutput { + return i.ToAuthorizationProjectCustomRoleArrayOutputWithContext(context.Background()) +} + +func (i AuthorizationProjectCustomRoleArray) ToAuthorizationProjectCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationProjectCustomRoleArrayOutput) +} + +// AuthorizationProjectCustomRoleMapInput is an input type that accepts AuthorizationProjectCustomRoleMap and AuthorizationProjectCustomRoleMapOutput values. +// You can construct a concrete instance of `AuthorizationProjectCustomRoleMapInput` via: +// +// AuthorizationProjectCustomRoleMap{ "key": AuthorizationProjectCustomRoleArgs{...} } +type AuthorizationProjectCustomRoleMapInput interface { + pulumi.Input + + ToAuthorizationProjectCustomRoleMapOutput() AuthorizationProjectCustomRoleMapOutput + ToAuthorizationProjectCustomRoleMapOutputWithContext(context.Context) AuthorizationProjectCustomRoleMapOutput +} + +type AuthorizationProjectCustomRoleMap map[string]AuthorizationProjectCustomRoleInput + +func (AuthorizationProjectCustomRoleMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (i AuthorizationProjectCustomRoleMap) ToAuthorizationProjectCustomRoleMapOutput() AuthorizationProjectCustomRoleMapOutput { + return i.ToAuthorizationProjectCustomRoleMapOutputWithContext(context.Background()) +} + +func (i AuthorizationProjectCustomRoleMap) ToAuthorizationProjectCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(AuthorizationProjectCustomRoleMapOutput) +} + +type AuthorizationProjectCustomRoleOutput struct{ *pulumi.OutputState } + +func (AuthorizationProjectCustomRoleOutput) ElementType() reflect.Type { + return reflect.TypeOf((**AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (o AuthorizationProjectCustomRoleOutput) ToAuthorizationProjectCustomRoleOutput() AuthorizationProjectCustomRoleOutput { + return o +} + +func (o AuthorizationProjectCustomRoleOutput) ToAuthorizationProjectCustomRoleOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleOutput { + return o +} + +// A human readable description of the role. +func (o AuthorizationProjectCustomRoleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationProjectCustomRole) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Name of the role +func (o AuthorizationProjectCustomRoleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationProjectCustomRole) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Permissions for the role +func (o AuthorizationProjectCustomRoleOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v *AuthorizationProjectCustomRole) pulumi.StringArrayOutput { return v.Permissions }).(pulumi.StringArrayOutput) +} + +// Resource to add the custom role to. +func (o AuthorizationProjectCustomRoleOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationProjectCustomRole) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// The ID of the role. +func (o AuthorizationProjectCustomRoleOutput) RoleId() pulumi.StringOutput { + return o.ApplyT(func(v *AuthorizationProjectCustomRole) pulumi.StringOutput { return v.RoleId }).(pulumi.StringOutput) +} + +type AuthorizationProjectCustomRoleArrayOutput struct{ *pulumi.OutputState } + +func (AuthorizationProjectCustomRoleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (o AuthorizationProjectCustomRoleArrayOutput) ToAuthorizationProjectCustomRoleArrayOutput() AuthorizationProjectCustomRoleArrayOutput { + return o +} + +func (o AuthorizationProjectCustomRoleArrayOutput) ToAuthorizationProjectCustomRoleArrayOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleArrayOutput { + return o +} + +func (o AuthorizationProjectCustomRoleArrayOutput) Index(i pulumi.IntInput) AuthorizationProjectCustomRoleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *AuthorizationProjectCustomRole { + return vs[0].([]*AuthorizationProjectCustomRole)[vs[1].(int)] + }).(AuthorizationProjectCustomRoleOutput) +} + +type AuthorizationProjectCustomRoleMapOutput struct{ *pulumi.OutputState } + +func (AuthorizationProjectCustomRoleMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*AuthorizationProjectCustomRole)(nil)).Elem() +} + +func (o AuthorizationProjectCustomRoleMapOutput) ToAuthorizationProjectCustomRoleMapOutput() AuthorizationProjectCustomRoleMapOutput { + return o +} + +func (o AuthorizationProjectCustomRoleMapOutput) ToAuthorizationProjectCustomRoleMapOutputWithContext(ctx context.Context) AuthorizationProjectCustomRoleMapOutput { + return o +} + +func (o AuthorizationProjectCustomRoleMapOutput) MapIndex(k pulumi.StringInput) AuthorizationProjectCustomRoleOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *AuthorizationProjectCustomRole { + return vs[0].(map[string]*AuthorizationProjectCustomRole)[vs[1].(string)] + }).(AuthorizationProjectCustomRoleOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationProjectCustomRoleInput)(nil)).Elem(), &AuthorizationProjectCustomRole{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationProjectCustomRoleArrayInput)(nil)).Elem(), AuthorizationProjectCustomRoleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*AuthorizationProjectCustomRoleMapInput)(nil)).Elem(), AuthorizationProjectCustomRoleMap{}) + pulumi.RegisterOutputType(AuthorizationProjectCustomRoleOutput{}) + pulumi.RegisterOutputType(AuthorizationProjectCustomRoleArrayOutput{}) + pulumi.RegisterOutputType(AuthorizationProjectCustomRoleMapOutput{}) +} diff --git a/sdk/go/stackit/getAuthorizationProjectCustomRole.go b/sdk/go/stackit/getAuthorizationProjectCustomRole.go new file mode 100644 index 0000000..367a40d --- /dev/null +++ b/sdk/go/stackit/getAuthorizationProjectCustomRole.go @@ -0,0 +1,117 @@ +// 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" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Custom Role resource schema. +// +// ## Example Usage +func LookupAuthorizationProjectCustomRole(ctx *pulumi.Context, args *LookupAuthorizationProjectCustomRoleArgs, opts ...pulumi.InvokeOption) (*LookupAuthorizationProjectCustomRoleResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupAuthorizationProjectCustomRoleResult + err := ctx.Invoke("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getAuthorizationProjectCustomRole. +type LookupAuthorizationProjectCustomRoleArgs struct { + // Resource to add the custom role to. + ResourceId string `pulumi:"resourceId"` + // The ID of the role. + RoleId string `pulumi:"roleId"` +} + +// A collection of values returned by getAuthorizationProjectCustomRole. +type LookupAuthorizationProjectCustomRoleResult struct { + // A human readable description of the role. + Description string `pulumi:"description"` + Id string `pulumi:"id"` + // Name of the role + Name string `pulumi:"name"` + // Permissions for the role + Permissions []string `pulumi:"permissions"` + // Resource to add the custom role to. + ResourceId string `pulumi:"resourceId"` + // The ID of the role. + RoleId string `pulumi:"roleId"` +} + +func LookupAuthorizationProjectCustomRoleOutput(ctx *pulumi.Context, args LookupAuthorizationProjectCustomRoleOutputArgs, opts ...pulumi.InvokeOption) LookupAuthorizationProjectCustomRoleResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupAuthorizationProjectCustomRoleResultOutput, error) { + args := v.(LookupAuthorizationProjectCustomRoleArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", args, LookupAuthorizationProjectCustomRoleResultOutput{}, options).(LookupAuthorizationProjectCustomRoleResultOutput), nil + }).(LookupAuthorizationProjectCustomRoleResultOutput) +} + +// A collection of arguments for invoking getAuthorizationProjectCustomRole. +type LookupAuthorizationProjectCustomRoleOutputArgs struct { + // Resource to add the custom role to. + ResourceId pulumi.StringInput `pulumi:"resourceId"` + // The ID of the role. + RoleId pulumi.StringInput `pulumi:"roleId"` +} + +func (LookupAuthorizationProjectCustomRoleOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAuthorizationProjectCustomRoleArgs)(nil)).Elem() +} + +// A collection of values returned by getAuthorizationProjectCustomRole. +type LookupAuthorizationProjectCustomRoleResultOutput struct{ *pulumi.OutputState } + +func (LookupAuthorizationProjectCustomRoleResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupAuthorizationProjectCustomRoleResult)(nil)).Elem() +} + +func (o LookupAuthorizationProjectCustomRoleResultOutput) ToLookupAuthorizationProjectCustomRoleResultOutput() LookupAuthorizationProjectCustomRoleResultOutput { + return o +} + +func (o LookupAuthorizationProjectCustomRoleResultOutput) ToLookupAuthorizationProjectCustomRoleResultOutputWithContext(ctx context.Context) LookupAuthorizationProjectCustomRoleResultOutput { + return o +} + +// A human readable description of the role. +func (o LookupAuthorizationProjectCustomRoleResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) string { return v.Description }).(pulumi.StringOutput) +} + +func (o LookupAuthorizationProjectCustomRoleResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the role +func (o LookupAuthorizationProjectCustomRoleResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Permissions for the role +func (o LookupAuthorizationProjectCustomRoleResultOutput) Permissions() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) []string { return v.Permissions }).(pulumi.StringArrayOutput) +} + +// Resource to add the custom role to. +func (o LookupAuthorizationProjectCustomRoleResultOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) string { return v.ResourceId }).(pulumi.StringOutput) +} + +// The ID of the role. +func (o LookupAuthorizationProjectCustomRoleResultOutput) RoleId() pulumi.StringOutput { + return o.ApplyT(func(v LookupAuthorizationProjectCustomRoleResult) string { return v.RoleId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupAuthorizationProjectCustomRoleResultOutput{}) +} diff --git a/sdk/go/stackit/getObservabilityInstance.go b/sdk/go/stackit/getObservabilityInstance.go index a15a39b..c447466 100644 --- a/sdk/go/stackit/getObservabilityInstance.go +++ b/sdk/go/stackit/getObservabilityInstance.go @@ -42,10 +42,8 @@ type LookupObservabilityInstanceResult struct { AlertingUrl string `pulumi:"alertingUrl"` // Specifies Observability instance dashboard URL. DashboardUrl string `pulumi:"dashboardUrl"` - // Specifies an initial Grafana admin password. - GrafanaInitialAdminPassword string `pulumi:"grafanaInitialAdminPassword"` - // Specifies an initial Grafana admin username. - GrafanaInitialAdminUser string `pulumi:"grafanaInitialAdminUser"` + // If true, a default Grafana server admin user was created. + GrafanaAdminEnabled bool `pulumi:"grafanaAdminEnabled"` // If true, anyone can access Grafana dashboards without logging in. GrafanaPublicReadAccess bool `pulumi:"grafanaPublicReadAccess"` // Specifies Grafana URL. @@ -147,14 +145,9 @@ func (o LookupObservabilityInstanceResultOutput) DashboardUrl() pulumi.StringOut return o.ApplyT(func(v LookupObservabilityInstanceResult) string { return v.DashboardUrl }).(pulumi.StringOutput) } -// Specifies an initial Grafana admin password. -func (o LookupObservabilityInstanceResultOutput) GrafanaInitialAdminPassword() pulumi.StringOutput { - return o.ApplyT(func(v LookupObservabilityInstanceResult) string { return v.GrafanaInitialAdminPassword }).(pulumi.StringOutput) -} - -// Specifies an initial Grafana admin username. -func (o LookupObservabilityInstanceResultOutput) GrafanaInitialAdminUser() pulumi.StringOutput { - return o.ApplyT(func(v LookupObservabilityInstanceResult) string { return v.GrafanaInitialAdminUser }).(pulumi.StringOutput) +// If true, a default Grafana server admin user was created. +func (o LookupObservabilityInstanceResultOutput) GrafanaAdminEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupObservabilityInstanceResult) bool { return v.GrafanaAdminEnabled }).(pulumi.BoolOutput) } // If true, anyone can access Grafana dashboards without logging in. diff --git a/sdk/go/stackit/getSkeKubernetesVersions.go b/sdk/go/stackit/getSkeKubernetesVersions.go new file mode 100644 index 0000000..0acfc0a --- /dev/null +++ b/sdk/go/stackit/getSkeKubernetesVersions.go @@ -0,0 +1,107 @@ +// 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" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Returns Kubernetes versions as reported by the SKE provider options API for the given region. +// +// ## Example Usage +func GetSkeKubernetesVersions(ctx *pulumi.Context, args *GetSkeKubernetesVersionsArgs, opts ...pulumi.InvokeOption) (*GetSkeKubernetesVersionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSkeKubernetesVersionsResult + err := ctx.Invoke("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSkeKubernetesVersions. +type GetSkeKubernetesVersionsArgs struct { + // Region override. If omitted, the provider’s region will be used. + Region *string `pulumi:"region"` + // If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState *string `pulumi:"versionState"` +} + +// A collection of values returned by getSkeKubernetesVersions. +type GetSkeKubernetesVersionsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Kubernetes versions and their metadata. + KubernetesVersions []GetSkeKubernetesVersionsKubernetesVersion `pulumi:"kubernetesVersions"` + // Region override. If omitted, the provider’s region will be used. + Region *string `pulumi:"region"` + // If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState *string `pulumi:"versionState"` +} + +func GetSkeKubernetesVersionsOutput(ctx *pulumi.Context, args GetSkeKubernetesVersionsOutputArgs, opts ...pulumi.InvokeOption) GetSkeKubernetesVersionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetSkeKubernetesVersionsResultOutput, error) { + args := v.(GetSkeKubernetesVersionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", args, GetSkeKubernetesVersionsResultOutput{}, options).(GetSkeKubernetesVersionsResultOutput), nil + }).(GetSkeKubernetesVersionsResultOutput) +} + +// A collection of arguments for invoking getSkeKubernetesVersions. +type GetSkeKubernetesVersionsOutputArgs struct { + // Region override. If omitted, the provider’s region will be used. + Region pulumi.StringPtrInput `pulumi:"region"` + // If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState pulumi.StringPtrInput `pulumi:"versionState"` +} + +func (GetSkeKubernetesVersionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsArgs)(nil)).Elem() +} + +// A collection of values returned by getSkeKubernetesVersions. +type GetSkeKubernetesVersionsResultOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsResult)(nil)).Elem() +} + +func (o GetSkeKubernetesVersionsResultOutput) ToGetSkeKubernetesVersionsResultOutput() GetSkeKubernetesVersionsResultOutput { + return o +} + +func (o GetSkeKubernetesVersionsResultOutput) ToGetSkeKubernetesVersionsResultOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetSkeKubernetesVersionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Kubernetes versions and their metadata. +func (o GetSkeKubernetesVersionsResultOutput) KubernetesVersions() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsResult) []GetSkeKubernetesVersionsKubernetesVersion { + return v.KubernetesVersions + }).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) +} + +// Region override. If omitted, the provider’s region will be used. +func (o GetSkeKubernetesVersionsResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. +func (o GetSkeKubernetesVersionsResultOutput) VersionState() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsResult) *string { return v.VersionState }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSkeKubernetesVersionsResultOutput{}) +} diff --git a/sdk/go/stackit/getSkeMachineImageVersions.go b/sdk/go/stackit/getSkeMachineImageVersions.go new file mode 100644 index 0000000..8c6df1f --- /dev/null +++ b/sdk/go/stackit/getSkeMachineImageVersions.go @@ -0,0 +1,107 @@ +// 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" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// Returns a list of supported Kubernetes machine image versions for the cluster nodes. +// +// ## Example Usage +func GetSkeMachineImageVersions(ctx *pulumi.Context, args *GetSkeMachineImageVersionsArgs, opts ...pulumi.InvokeOption) (*GetSkeMachineImageVersionsResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSkeMachineImageVersionsResult + err := ctx.Invoke("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSkeMachineImageVersions. +type GetSkeMachineImageVersionsArgs struct { + // Region override. If omitted, the provider’s region will be used. + Region *string `pulumi:"region"` + // Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState *string `pulumi:"versionState"` +} + +// A collection of values returned by getSkeMachineImageVersions. +type GetSkeMachineImageVersionsResult struct { + // The provider-assigned unique ID for this managed resource. + Id string `pulumi:"id"` + // Supported machine image types and versions. + MachineImages []GetSkeMachineImageVersionsMachineImage `pulumi:"machineImages"` + // Region override. If omitted, the provider’s region will be used. + Region *string `pulumi:"region"` + // Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState *string `pulumi:"versionState"` +} + +func GetSkeMachineImageVersionsOutput(ctx *pulumi.Context, args GetSkeMachineImageVersionsOutputArgs, opts ...pulumi.InvokeOption) GetSkeMachineImageVersionsResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetSkeMachineImageVersionsResultOutput, error) { + args := v.(GetSkeMachineImageVersionsArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", args, GetSkeMachineImageVersionsResultOutput{}, options).(GetSkeMachineImageVersionsResultOutput), nil + }).(GetSkeMachineImageVersionsResultOutput) +} + +// A collection of arguments for invoking getSkeMachineImageVersions. +type GetSkeMachineImageVersionsOutputArgs struct { + // Region override. If omitted, the provider’s region will be used. + Region pulumi.StringPtrInput `pulumi:"region"` + // Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + VersionState pulumi.StringPtrInput `pulumi:"versionState"` +} + +func (GetSkeMachineImageVersionsOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsArgs)(nil)).Elem() +} + +// A collection of values returned by getSkeMachineImageVersions. +type GetSkeMachineImageVersionsResultOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsResult)(nil)).Elem() +} + +func (o GetSkeMachineImageVersionsResultOutput) ToGetSkeMachineImageVersionsResultOutput() GetSkeMachineImageVersionsResultOutput { + return o +} + +func (o GetSkeMachineImageVersionsResultOutput) ToGetSkeMachineImageVersionsResultOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsResultOutput { + return o +} + +// The provider-assigned unique ID for this managed resource. +func (o GetSkeMachineImageVersionsResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Supported machine image types and versions. +func (o GetSkeMachineImageVersionsResultOutput) MachineImages() GetSkeMachineImageVersionsMachineImageArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsResult) []GetSkeMachineImageVersionsMachineImage { + return v.MachineImages + }).(GetSkeMachineImageVersionsMachineImageArrayOutput) +} + +// Region override. If omitted, the provider’s region will be used. +func (o GetSkeMachineImageVersionsResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. +func (o GetSkeMachineImageVersionsResultOutput) VersionState() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsResult) *string { return v.VersionState }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSkeMachineImageVersionsResultOutput{}) +} diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index ca15b28..f7a6d93 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -27,6 +27,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &AuthorizationFolderRoleAssignment{} case "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment": r = &AuthorizationOrganizationRoleAssignment{} + case "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole": + r = &AuthorizationProjectCustomRole{} case "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": r = &AuthorizationProjectRoleAssignment{} case "stackit:index/cdnCustomDomain:CdnCustomDomain": @@ -223,6 +225,11 @@ func init() { "index/authorizationOrganizationRoleAssignment", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/authorizationProjectCustomRole", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/authorizationProjectRoleAssignment", diff --git a/sdk/go/stackit/observabilityInstance.go b/sdk/go/stackit/observabilityInstance.go index 6c5f29b..a117c40 100644 --- a/sdk/go/stackit/observabilityInstance.go +++ b/sdk/go/stackit/observabilityInstance.go @@ -26,10 +26,8 @@ type ObservabilityInstance struct { AlertingUrl pulumi.StringOutput `pulumi:"alertingUrl"` // Specifies Observability instance dashboard URL. DashboardUrl pulumi.StringOutput `pulumi:"dashboardUrl"` - // Specifies an initial Grafana admin password. - GrafanaInitialAdminPassword pulumi.StringOutput `pulumi:"grafanaInitialAdminPassword"` - // Specifies an initial Grafana admin username. - GrafanaInitialAdminUser pulumi.StringOutput `pulumi:"grafanaInitialAdminUser"` + // If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + GrafanaAdminEnabled pulumi.BoolOutput `pulumi:"grafanaAdminEnabled"` // If true, anyone can access Grafana dashboards without logging in. GrafanaPublicReadAccess pulumi.BoolOutput `pulumi:"grafanaPublicReadAccess"` // Specifies Grafana URL. @@ -87,10 +85,6 @@ func NewObservabilityInstance(ctx *pulumi.Context, if args.ProjectId == nil { return nil, errors.New("invalid value for required argument 'ProjectId'") } - secrets := pulumi.AdditionalSecretOutputs([]string{ - "grafanaInitialAdminPassword", - }) - opts = append(opts, secrets) opts = internal.PkgResourceDefaultOpts(opts) var resource ObservabilityInstance err := ctx.RegisterResource("stackit:index/observabilityInstance:ObservabilityInstance", name, args, &resource, opts...) @@ -122,10 +116,8 @@ type observabilityInstanceState struct { AlertingUrl *string `pulumi:"alertingUrl"` // Specifies Observability instance dashboard URL. DashboardUrl *string `pulumi:"dashboardUrl"` - // Specifies an initial Grafana admin password. - GrafanaInitialAdminPassword *string `pulumi:"grafanaInitialAdminPassword"` - // Specifies an initial Grafana admin username. - GrafanaInitialAdminUser *string `pulumi:"grafanaInitialAdminUser"` + // If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + GrafanaAdminEnabled *bool `pulumi:"grafanaAdminEnabled"` // If true, anyone can access Grafana dashboards without logging in. GrafanaPublicReadAccess *bool `pulumi:"grafanaPublicReadAccess"` // Specifies Grafana URL. @@ -179,10 +171,8 @@ type ObservabilityInstanceState struct { AlertingUrl pulumi.StringPtrInput // Specifies Observability instance dashboard URL. DashboardUrl pulumi.StringPtrInput - // Specifies an initial Grafana admin password. - GrafanaInitialAdminPassword pulumi.StringPtrInput - // Specifies an initial Grafana admin username. - GrafanaInitialAdminUser pulumi.StringPtrInput + // If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + GrafanaAdminEnabled pulumi.BoolPtrInput // If true, anyone can access Grafana dashboards without logging in. GrafanaPublicReadAccess pulumi.BoolPtrInput // Specifies Grafana URL. @@ -236,6 +226,8 @@ type observabilityInstanceArgs struct { Acls []string `pulumi:"acls"` // Alert configuration for the instance. AlertConfig *ObservabilityInstanceAlertConfig `pulumi:"alertConfig"` + // If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + GrafanaAdminEnabled *bool `pulumi:"grafanaAdminEnabled"` // Specifies for how many days the logs are kept. Default is set to `7`. LogsRetentionDays *int `pulumi:"logsRetentionDays"` // Specifies for how many days the raw metrics are kept. Default is set to `90`. @@ -262,6 +254,8 @@ type ObservabilityInstanceArgs struct { Acls pulumi.StringArrayInput // Alert configuration for the instance. AlertConfig ObservabilityInstanceAlertConfigPtrInput + // If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + GrafanaAdminEnabled pulumi.BoolPtrInput // Specifies for how many days the logs are kept. Default is set to `7`. LogsRetentionDays pulumi.IntPtrInput // Specifies for how many days the raw metrics are kept. Default is set to `90`. @@ -389,14 +383,9 @@ func (o ObservabilityInstanceOutput) DashboardUrl() pulumi.StringOutput { return o.ApplyT(func(v *ObservabilityInstance) pulumi.StringOutput { return v.DashboardUrl }).(pulumi.StringOutput) } -// Specifies an initial Grafana admin password. -func (o ObservabilityInstanceOutput) GrafanaInitialAdminPassword() pulumi.StringOutput { - return o.ApplyT(func(v *ObservabilityInstance) pulumi.StringOutput { return v.GrafanaInitialAdminPassword }).(pulumi.StringOutput) -} - -// Specifies an initial Grafana admin username. -func (o ObservabilityInstanceOutput) GrafanaInitialAdminUser() pulumi.StringOutput { - return o.ApplyT(func(v *ObservabilityInstance) pulumi.StringOutput { return v.GrafanaInitialAdminUser }).(pulumi.StringOutput) +// If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. +func (o ObservabilityInstanceOutput) GrafanaAdminEnabled() pulumi.BoolOutput { + return o.ApplyT(func(v *ObservabilityInstance) pulumi.BoolOutput { return v.GrafanaAdminEnabled }).(pulumi.BoolOutput) } // If true, anyone can access Grafana dashboards without logging in. diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index 0c70f01..16309c9 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -21028,6 +21028,362 @@ func (o GetSkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) GetSkeCl }).(GetSkeClusterNodePoolTaintOutput) } +type GetSkeKubernetesVersionsKubernetesVersion struct { + // Expiration date of the version in RFC3339 format. + ExpirationDate string `pulumi:"expirationDate"` + // Map of available feature gates for this version. + FeatureGates map[string]string `pulumi:"featureGates"` + // State of the kubernetes version. + State string `pulumi:"state"` + // Kubernetes version string (e.g., `1.33.6`). + Version string `pulumi:"version"` +} + +// GetSkeKubernetesVersionsKubernetesVersionInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArgs and GetSkeKubernetesVersionsKubernetesVersionOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionInput` via: +// +// GetSkeKubernetesVersionsKubernetesVersionArgs{...} +type GetSkeKubernetesVersionsKubernetesVersionInput interface { + pulumi.Input + + ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput +} + +type GetSkeKubernetesVersionsKubernetesVersionArgs struct { + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // Map of available feature gates for this version. + FeatureGates pulumi.StringMapInput `pulumi:"featureGates"` + // State of the kubernetes version. + State pulumi.StringInput `pulumi:"state"` + // Kubernetes version string (e.g., `1.33.6`). + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) +} + +// GetSkeKubernetesVersionsKubernetesVersionArrayInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArray and GetSkeKubernetesVersionsKubernetesVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionArrayInput` via: +// +// GetSkeKubernetesVersionsKubernetesVersionArray{ GetSkeKubernetesVersionsKubernetesVersionArgs{...} } +type GetSkeKubernetesVersionsKubernetesVersionArrayInput interface { + pulumi.Input + + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput +} + +type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput + +func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) +} + +type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +} + +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return o +} + +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return o +} + +// Expiration date of the version in RFC3339 format. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ExpirationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) +} + +// Map of available feature gates for this version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) FeatureGates() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) map[string]string { return v.FeatureGates }).(pulumi.StringMapOutput) +} + +// State of the kubernetes version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.State }).(pulumi.StringOutput) +} + +// Kubernetes version string (e.g., `1.33.6`). +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.Version }).(pulumi.StringOutput) +} + +type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +} + +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o +} + +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o +} + +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) Index(i pulumi.IntInput) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeKubernetesVersionsKubernetesVersion { + return vs[0].([]GetSkeKubernetesVersionsKubernetesVersion)[vs[1].(int)] + }).(GetSkeKubernetesVersionsKubernetesVersionOutput) +} + +type GetSkeMachineImageVersionsMachineImage struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). + Name string `pulumi:"name"` + // Supported versions of the image. + Versions []GetSkeMachineImageVersionsMachineImageVersion `pulumi:"versions"` +} + +// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: +// +// GetSkeMachineImageVersionsMachineImageArgs{...} +type GetSkeMachineImageVersionsMachineImageInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput + ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput +} + +type GetSkeMachineImageVersionsMachineImageArgs struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). + Name pulumi.StringInput `pulumi:"name"` + // Supported versions of the image. + Versions GetSkeMachineImageVersionsMachineImageVersionArrayInput `pulumi:"versions"` +} + +func (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +} + +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) +} + +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) +} + +// GetSkeMachineImageVersionsMachineImageArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArray and GetSkeMachineImageVersionsMachineImageArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageArrayInput` via: +// +// GetSkeMachineImageVersionsMachineImageArray{ GetSkeMachineImageVersionsMachineImageArgs{...} } +type GetSkeMachineImageVersionsMachineImageArrayInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput +} + +type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput + +func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +} + +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Background()) +} + +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) +} + +type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +} + +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return o +} + +// Name of the OS image (e.g., `ubuntu` or `flatcar`). +func (o GetSkeMachineImageVersionsMachineImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) string { return v.Name }).(pulumi.StringOutput) +} + +// Supported versions of the image. +func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { + return v.Versions + }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +} + +type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +} + +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImage { + return vs[0].([]GetSkeMachineImageVersionsMachineImage)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageOutput) +} + +type GetSkeMachineImageVersionsMachineImageVersion struct { + // Container runtimes supported (e.g., `containerd`). + Cris []string `pulumi:"cris"` + // Expiration date of the version in RFC3339 format. + ExpirationDate string `pulumi:"expirationDate"` + // State of the image version. + State string `pulumi:"state"` + // Machine image version string. + Version string `pulumi:"version"` +} + +// GetSkeMachineImageVersionsMachineImageVersionInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArgs and GetSkeMachineImageVersionsMachineImageVersionOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionInput` via: +// +// GetSkeMachineImageVersionsMachineImageVersionArgs{...} +type GetSkeMachineImageVersionsMachineImageVersionInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput + ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput +} + +type GetSkeMachineImageVersionsMachineImageVersionArgs struct { + // Container runtimes supported (e.g., `containerd`). + Cris pulumi.StringArrayInput `pulumi:"cris"` + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // State of the image version. + State pulumi.StringInput `pulumi:"state"` + // Machine image version string. + Version pulumi.StringInput `pulumi:"version"` +} + +func (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +} + +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) +} + +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) +} + +// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: +// +// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } +type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput +} + +type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput + +func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +} + +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) +} + +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +} + +type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +} + +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { + return o +} + +// Container runtimes supported (e.g., `containerd`). +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) +} + +// Expiration date of the version in RFC3339 format. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ExpirationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) +} + +// State of the image version. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) +} + +// Machine image version string. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) +} + +type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +} + +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImageVersion { + return vs[0].([]GetSkeMachineImageVersionsMachineImageVersion)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageVersionOutput) +} + type GetSqlserverflexInstanceFlavor struct { Cpu int `pulumi:"cpu"` Description string `pulumi:"description"` @@ -21520,6 +21876,12 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolArrayInput)(nil)).Elem(), GetSkeClusterNodePoolArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolTaintInput)(nil)).Elem(), GetSkeClusterNodePoolTaintArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterNodePoolTaintArrayInput)(nil)).Elem(), GetSkeClusterNodePoolTaintArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersionInput)(nil)).Elem(), GetSkeKubernetesVersionsKubernetesVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersionArrayInput)(nil)).Elem(), GetSkeKubernetesVersionsKubernetesVersionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageArrayInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersionInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageVersionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersionArrayInput)(nil)).Elem(), GetSkeMachineImageVersionsMachineImageVersionArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceFlavorInput)(nil)).Elem(), GetSqlserverflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceOptionsInput)(nil)).Elem(), GetSqlserverflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceStorageInput)(nil)).Elem(), GetSqlserverflexInstanceStorageArgs{}) @@ -21777,6 +22139,12 @@ func init() { pulumi.RegisterOutputType(GetSkeClusterNodePoolArrayOutput{}) pulumi.RegisterOutputType(GetSkeClusterNodePoolTaintOutput{}) pulumi.RegisterOutputType(GetSkeClusterNodePoolTaintArrayOutput{}) + pulumi.RegisterOutputType(GetSkeKubernetesVersionsKubernetesVersionOutput{}) + pulumi.RegisterOutputType(GetSkeKubernetesVersionsKubernetesVersionArrayOutput{}) + pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageOutput{}) + pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageArrayOutput{}) + pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageVersionOutput{}) + pulumi.RegisterOutputType(GetSkeMachineImageVersionsMachineImageVersionArrayOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceOptionsOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceStorageOutput{}) diff --git a/sdk/nodejs/authorizationProjectCustomRole.ts b/sdk/nodejs/authorizationProjectCustomRole.ts new file mode 100644 index 0000000..03bd0dd --- /dev/null +++ b/sdk/nodejs/authorizationProjectCustomRole.ts @@ -0,0 +1,147 @@ +// *** 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"; + +/** + * Custom Role resource schema. + * + * ## Example Usage + */ +export class AuthorizationProjectCustomRole extends pulumi.CustomResource { + /** + * Get an existing AuthorizationProjectCustomRole 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?: AuthorizationProjectCustomRoleState, opts?: pulumi.CustomResourceOptions): AuthorizationProjectCustomRole { + return new AuthorizationProjectCustomRole(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole'; + + /** + * Returns true if the given object is an instance of AuthorizationProjectCustomRole. 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 AuthorizationProjectCustomRole { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === AuthorizationProjectCustomRole.__pulumiType; + } + + /** + * A human readable description of the role. + */ + declare public readonly description: pulumi.Output; + /** + * Name of the role + */ + declare public readonly name: pulumi.Output; + /** + * Permissions for the role + */ + declare public readonly permissions: pulumi.Output; + /** + * Resource to add the custom role to. + */ + declare public readonly resourceId: pulumi.Output; + /** + * The ID of the role. + */ + declare public /*out*/ readonly roleId: pulumi.Output; + + /** + * Create a AuthorizationProjectCustomRole 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: AuthorizationProjectCustomRoleArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: AuthorizationProjectCustomRoleArgs | AuthorizationProjectCustomRoleState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as AuthorizationProjectCustomRoleState | undefined; + resourceInputs["description"] = state?.description; + resourceInputs["name"] = state?.name; + resourceInputs["permissions"] = state?.permissions; + resourceInputs["resourceId"] = state?.resourceId; + resourceInputs["roleId"] = state?.roleId; + } else { + const args = argsOrState as AuthorizationProjectCustomRoleArgs | undefined; + if (args?.description === undefined && !opts.urn) { + throw new Error("Missing required property 'description'"); + } + if (args?.permissions === undefined && !opts.urn) { + throw new Error("Missing required property 'permissions'"); + } + if (args?.resourceId === undefined && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["name"] = args?.name; + resourceInputs["permissions"] = args?.permissions; + resourceInputs["resourceId"] = args?.resourceId; + resourceInputs["roleId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(AuthorizationProjectCustomRole.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering AuthorizationProjectCustomRole resources. + */ +export interface AuthorizationProjectCustomRoleState { + /** + * A human readable description of the role. + */ + description?: pulumi.Input; + /** + * Name of the role + */ + name?: pulumi.Input; + /** + * Permissions for the role + */ + permissions?: pulumi.Input[]>; + /** + * Resource to add the custom role to. + */ + resourceId?: pulumi.Input; + /** + * The ID of the role. + */ + roleId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a AuthorizationProjectCustomRole resource. + */ +export interface AuthorizationProjectCustomRoleArgs { + /** + * A human readable description of the role. + */ + description: pulumi.Input; + /** + * Name of the role + */ + name?: pulumi.Input; + /** + * Permissions for the role + */ + permissions: pulumi.Input[]>; + /** + * Resource to add the custom role to. + */ + resourceId: pulumi.Input; +} diff --git a/sdk/nodejs/getAuthorizationProjectCustomRole.ts b/sdk/nodejs/getAuthorizationProjectCustomRole.ts new file mode 100644 index 0000000..f609080 --- /dev/null +++ b/sdk/nodejs/getAuthorizationProjectCustomRole.ts @@ -0,0 +1,85 @@ +// *** 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"; + +/** + * Custom Role resource schema. + * + * ## Example Usage + */ +export function getAuthorizationProjectCustomRole(args: GetAuthorizationProjectCustomRoleArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", { + "resourceId": args.resourceId, + "roleId": args.roleId, + }, opts); +} + +/** + * A collection of arguments for invoking getAuthorizationProjectCustomRole. + */ +export interface GetAuthorizationProjectCustomRoleArgs { + /** + * Resource to add the custom role to. + */ + resourceId: string; + /** + * The ID of the role. + */ + roleId: string; +} + +/** + * A collection of values returned by getAuthorizationProjectCustomRole. + */ +export interface GetAuthorizationProjectCustomRoleResult { + /** + * A human readable description of the role. + */ + readonly description: string; + readonly id: string; + /** + * Name of the role + */ + readonly name: string; + /** + * Permissions for the role + */ + readonly permissions: string[]; + /** + * Resource to add the custom role to. + */ + readonly resourceId: string; + /** + * The ID of the role. + */ + readonly roleId: string; +} +/** + * Custom Role resource schema. + * + * ## Example Usage + */ +export function getAuthorizationProjectCustomRoleOutput(args: GetAuthorizationProjectCustomRoleOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole", { + "resourceId": args.resourceId, + "roleId": args.roleId, + }, opts); +} + +/** + * A collection of arguments for invoking getAuthorizationProjectCustomRole. + */ +export interface GetAuthorizationProjectCustomRoleOutputArgs { + /** + * Resource to add the custom role to. + */ + resourceId: pulumi.Input; + /** + * The ID of the role. + */ + roleId: pulumi.Input; +} diff --git a/sdk/nodejs/getObservabilityInstance.ts b/sdk/nodejs/getObservabilityInstance.ts index c8ae912..79c8820 100644 --- a/sdk/nodejs/getObservabilityInstance.ts +++ b/sdk/nodejs/getObservabilityInstance.ts @@ -54,13 +54,9 @@ export interface GetObservabilityInstanceResult { */ readonly dashboardUrl: string; /** - * Specifies an initial Grafana admin password. + * If true, a default Grafana server admin user was created. */ - readonly grafanaInitialAdminPassword: string; - /** - * Specifies an initial Grafana admin username. - */ - readonly grafanaInitialAdminUser: string; + readonly grafanaAdminEnabled: boolean; /** * If true, anyone can access Grafana dashboards without logging in. */ diff --git a/sdk/nodejs/getSkeKubernetesVersions.ts b/sdk/nodejs/getSkeKubernetesVersions.ts new file mode 100644 index 0000000..383dcb9 --- /dev/null +++ b/sdk/nodejs/getSkeKubernetesVersions.ts @@ -0,0 +1,84 @@ +// *** 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 inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Returns Kubernetes versions as reported by the SKE provider options API for the given region. + * + * ## Example Usage + */ +export function getSkeKubernetesVersions(args?: GetSkeKubernetesVersionsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", { + "region": args.region, + "versionState": args.versionState, + }, opts); +} + +/** + * A collection of arguments for invoking getSkeKubernetesVersions. + */ +export interface GetSkeKubernetesVersionsArgs { + /** + * Region override. If omitted, the provider’s region will be used. + */ + region?: string; + /** + * If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + versionState?: string; +} + +/** + * A collection of values returned by getSkeKubernetesVersions. + */ +export interface GetSkeKubernetesVersionsResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Kubernetes versions and their metadata. + */ + readonly kubernetesVersions: outputs.GetSkeKubernetesVersionsKubernetesVersion[]; + /** + * Region override. If omitted, the provider’s region will be used. + */ + readonly region?: string; + /** + * If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + readonly versionState?: string; +} +/** + * Returns Kubernetes versions as reported by the SKE provider options API for the given region. + * + * ## Example Usage + */ +export function getSkeKubernetesVersionsOutput(args?: GetSkeKubernetesVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions", { + "region": args.region, + "versionState": args.versionState, + }, opts); +} + +/** + * A collection of arguments for invoking getSkeKubernetesVersions. + */ +export interface GetSkeKubernetesVersionsOutputArgs { + /** + * Region override. If omitted, the provider’s region will be used. + */ + region?: pulumi.Input; + /** + * If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + versionState?: pulumi.Input; +} diff --git a/sdk/nodejs/getSkeMachineImageVersions.ts b/sdk/nodejs/getSkeMachineImageVersions.ts new file mode 100644 index 0000000..cc7e67a --- /dev/null +++ b/sdk/nodejs/getSkeMachineImageVersions.ts @@ -0,0 +1,84 @@ +// *** 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 inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Returns a list of supported Kubernetes machine image versions for the cluster nodes. + * + * ## Example Usage + */ +export function getSkeMachineImageVersions(args?: GetSkeMachineImageVersionsArgs, opts?: pulumi.InvokeOptions): Promise { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", { + "region": args.region, + "versionState": args.versionState, + }, opts); +} + +/** + * A collection of arguments for invoking getSkeMachineImageVersions. + */ +export interface GetSkeMachineImageVersionsArgs { + /** + * Region override. If omitted, the provider’s region will be used. + */ + region?: string; + /** + * Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + versionState?: string; +} + +/** + * A collection of values returned by getSkeMachineImageVersions. + */ +export interface GetSkeMachineImageVersionsResult { + /** + * The provider-assigned unique ID for this managed resource. + */ + readonly id: string; + /** + * Supported machine image types and versions. + */ + readonly machineImages: outputs.GetSkeMachineImageVersionsMachineImage[]; + /** + * Region override. If omitted, the provider’s region will be used. + */ + readonly region?: string; + /** + * Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + readonly versionState?: string; +} +/** + * Returns a list of supported Kubernetes machine image versions for the cluster nodes. + * + * ## Example Usage + */ +export function getSkeMachineImageVersionsOutput(args?: GetSkeMachineImageVersionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + args = args || {}; + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions", { + "region": args.region, + "versionState": args.versionState, + }, opts); +} + +/** + * A collection of arguments for invoking getSkeMachineImageVersions. + */ +export interface GetSkeMachineImageVersionsOutputArgs { + /** + * Region override. If omitted, the provider’s region will be used. + */ + region?: pulumi.Input; + /** + * Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + */ + versionState?: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 01249f2..da7aac8 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -20,6 +20,11 @@ export type AuthorizationOrganizationRoleAssignment = import("./authorizationOrg export const AuthorizationOrganizationRoleAssignment: typeof import("./authorizationOrganizationRoleAssignment").AuthorizationOrganizationRoleAssignment = null as any; utilities.lazyLoad(exports, ["AuthorizationOrganizationRoleAssignment"], () => require("./authorizationOrganizationRoleAssignment")); +export { AuthorizationProjectCustomRoleArgs, AuthorizationProjectCustomRoleState } from "./authorizationProjectCustomRole"; +export type AuthorizationProjectCustomRole = import("./authorizationProjectCustomRole").AuthorizationProjectCustomRole; +export const AuthorizationProjectCustomRole: typeof import("./authorizationProjectCustomRole").AuthorizationProjectCustomRole = null as any; +utilities.lazyLoad(exports, ["AuthorizationProjectCustomRole"], () => require("./authorizationProjectCustomRole")); + export { AuthorizationProjectRoleAssignmentArgs, AuthorizationProjectRoleAssignmentState } from "./authorizationProjectRoleAssignment"; export type AuthorizationProjectRoleAssignment = import("./authorizationProjectRoleAssignment").AuthorizationProjectRoleAssignment; export const AuthorizationProjectRoleAssignment: typeof import("./authorizationProjectRoleAssignment").AuthorizationProjectRoleAssignment = null as any; @@ -65,6 +70,11 @@ export const getAffinityGroup: typeof import("./getAffinityGroup").getAffinityGr export const getAffinityGroupOutput: typeof import("./getAffinityGroup").getAffinityGroupOutput = null as any; utilities.lazyLoad(exports, ["getAffinityGroup","getAffinityGroupOutput"], () => require("./getAffinityGroup")); +export { GetAuthorizationProjectCustomRoleArgs, GetAuthorizationProjectCustomRoleResult, GetAuthorizationProjectCustomRoleOutputArgs } from "./getAuthorizationProjectCustomRole"; +export const getAuthorizationProjectCustomRole: typeof import("./getAuthorizationProjectCustomRole").getAuthorizationProjectCustomRole = null as any; +export const getAuthorizationProjectCustomRoleOutput: typeof import("./getAuthorizationProjectCustomRole").getAuthorizationProjectCustomRoleOutput = null as any; +utilities.lazyLoad(exports, ["getAuthorizationProjectCustomRole","getAuthorizationProjectCustomRoleOutput"], () => require("./getAuthorizationProjectCustomRole")); + export { GetCdnCustomDomainArgs, GetCdnCustomDomainResult, GetCdnCustomDomainOutputArgs } from "./getCdnCustomDomain"; export const getCdnCustomDomain: typeof import("./getCdnCustomDomain").getCdnCustomDomain = null as any; export const getCdnCustomDomainOutput: typeof import("./getCdnCustomDomain").getCdnCustomDomainOutput = null as any; @@ -415,6 +425,16 @@ export const getSkeCluster: typeof import("./getSkeCluster").getSkeCluster = nul export const getSkeClusterOutput: typeof import("./getSkeCluster").getSkeClusterOutput = null as any; utilities.lazyLoad(exports, ["getSkeCluster","getSkeClusterOutput"], () => require("./getSkeCluster")); +export { GetSkeKubernetesVersionsArgs, GetSkeKubernetesVersionsResult, GetSkeKubernetesVersionsOutputArgs } from "./getSkeKubernetesVersions"; +export const getSkeKubernetesVersions: typeof import("./getSkeKubernetesVersions").getSkeKubernetesVersions = null as any; +export const getSkeKubernetesVersionsOutput: typeof import("./getSkeKubernetesVersions").getSkeKubernetesVersionsOutput = null as any; +utilities.lazyLoad(exports, ["getSkeKubernetesVersions","getSkeKubernetesVersionsOutput"], () => require("./getSkeKubernetesVersions")); + +export { GetSkeMachineImageVersionsArgs, GetSkeMachineImageVersionsResult, GetSkeMachineImageVersionsOutputArgs } from "./getSkeMachineImageVersions"; +export const getSkeMachineImageVersions: typeof import("./getSkeMachineImageVersions").getSkeMachineImageVersions = null as any; +export const getSkeMachineImageVersionsOutput: typeof import("./getSkeMachineImageVersions").getSkeMachineImageVersionsOutput = null as any; +utilities.lazyLoad(exports, ["getSkeMachineImageVersions","getSkeMachineImageVersionsOutput"], () => require("./getSkeMachineImageVersions")); + export { GetSqlserverflexInstanceArgs, GetSqlserverflexInstanceResult, GetSqlserverflexInstanceOutputArgs } from "./getSqlserverflexInstance"; export const getSqlserverflexInstance: typeof import("./getSqlserverflexInstance").getSqlserverflexInstance = null as any; export const getSqlserverflexInstanceOutput: typeof import("./getSqlserverflexInstance").getSqlserverflexInstanceOutput = null as any; @@ -788,6 +808,8 @@ const _module = { return new AuthorizationFolderRoleAssignment(name, undefined, { urn }) case "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment": return new AuthorizationOrganizationRoleAssignment(name, undefined, { urn }) + case "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole": + return new AuthorizationProjectCustomRole(name, undefined, { urn }) case "stackit:index/authorizationProjectRoleAssignment:AuthorizationProjectRoleAssignment": return new AuthorizationProjectRoleAssignment(name, undefined, { urn }) case "stackit:index/cdnCustomDomain:CdnCustomDomain": @@ -946,6 +968,7 @@ const _module = { pulumi.runtime.registerResourceModule("stackit", "index/affinityGroup", _module) pulumi.runtime.registerResourceModule("stackit", "index/authorizationFolderRoleAssignment", _module) 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/cdnCustomDomain", _module) pulumi.runtime.registerResourceModule("stackit", "index/cdnDistribution", _module) diff --git a/sdk/nodejs/observabilityInstance.ts b/sdk/nodejs/observabilityInstance.ts index 77dfedd..01bddb6 100644 --- a/sdk/nodejs/observabilityInstance.ts +++ b/sdk/nodejs/observabilityInstance.ts @@ -56,13 +56,9 @@ export class ObservabilityInstance extends pulumi.CustomResource { */ declare public /*out*/ readonly dashboardUrl: pulumi.Output; /** - * Specifies an initial Grafana admin password. + * If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. */ - declare public /*out*/ readonly grafanaInitialAdminPassword: pulumi.Output; - /** - * Specifies an initial Grafana admin username. - */ - declare public /*out*/ readonly grafanaInitialAdminUser: pulumi.Output; + declare public readonly grafanaAdminEnabled: pulumi.Output; /** * If true, anyone can access Grafana dashboards without logging in. */ @@ -161,8 +157,7 @@ export class ObservabilityInstance extends pulumi.CustomResource { resourceInputs["alertConfig"] = state?.alertConfig; resourceInputs["alertingUrl"] = state?.alertingUrl; resourceInputs["dashboardUrl"] = state?.dashboardUrl; - resourceInputs["grafanaInitialAdminPassword"] = state?.grafanaInitialAdminPassword; - resourceInputs["grafanaInitialAdminUser"] = state?.grafanaInitialAdminUser; + resourceInputs["grafanaAdminEnabled"] = state?.grafanaAdminEnabled; resourceInputs["grafanaPublicReadAccess"] = state?.grafanaPublicReadAccess; resourceInputs["grafanaUrl"] = state?.grafanaUrl; resourceInputs["instanceId"] = state?.instanceId; @@ -196,6 +191,7 @@ export class ObservabilityInstance extends pulumi.CustomResource { } resourceInputs["acls"] = args?.acls; resourceInputs["alertConfig"] = args?.alertConfig; + resourceInputs["grafanaAdminEnabled"] = args?.grafanaAdminEnabled; resourceInputs["logsRetentionDays"] = args?.logsRetentionDays; resourceInputs["metricsRetentionDays"] = args?.metricsRetentionDays; resourceInputs["metricsRetentionDays1hDownsampling"] = args?.metricsRetentionDays1hDownsampling; @@ -207,8 +203,6 @@ export class ObservabilityInstance extends pulumi.CustomResource { resourceInputs["tracesRetentionDays"] = args?.tracesRetentionDays; resourceInputs["alertingUrl"] = undefined /*out*/; resourceInputs["dashboardUrl"] = undefined /*out*/; - resourceInputs["grafanaInitialAdminPassword"] = undefined /*out*/; - resourceInputs["grafanaInitialAdminUser"] = undefined /*out*/; resourceInputs["grafanaPublicReadAccess"] = undefined /*out*/; resourceInputs["grafanaUrl"] = undefined /*out*/; resourceInputs["instanceId"] = undefined /*out*/; @@ -225,8 +219,6 @@ export class ObservabilityInstance extends pulumi.CustomResource { resourceInputs["zipkinSpansUrl"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); - const secretOpts = { additionalSecretOutputs: ["grafanaInitialAdminPassword"] }; - opts = pulumi.mergeOptions(opts, secretOpts); super(ObservabilityInstance.__pulumiType, name, resourceInputs, opts); } } @@ -252,13 +244,9 @@ export interface ObservabilityInstanceState { */ dashboardUrl?: pulumi.Input; /** - * Specifies an initial Grafana admin password. - */ - grafanaInitialAdminPassword?: pulumi.Input; - /** - * Specifies an initial Grafana admin username. + * If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. */ - grafanaInitialAdminUser?: pulumi.Input; + grafanaAdminEnabled?: pulumi.Input; /** * If true, anyone can access Grafana dashboards without logging in. */ @@ -353,6 +341,10 @@ export interface ObservabilityInstanceArgs { * Alert configuration for the instance. */ alertConfig?: pulumi.Input; + /** + * If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + */ + grafanaAdminEnabled?: pulumi.Input; /** * Specifies for how many days the logs are kept. Default is set to `7`. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 0556fc0..9e0c195 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -16,6 +16,7 @@ "affinityGroup.ts", "authorizationFolderRoleAssignment.ts", "authorizationOrganizationRoleAssignment.ts", + "authorizationProjectCustomRole.ts", "authorizationProjectRoleAssignment.ts", "cdnCustomDomain.ts", "cdnDistribution.ts", @@ -27,6 +28,7 @@ "edgecloudKubeconfig.ts", "edgecloudToken.ts", "getAffinityGroup.ts", + "getAuthorizationProjectCustomRole.ts", "getCdnCustomDomain.ts", "getCdnDistribution.ts", "getDnsRecordSet.ts", @@ -97,6 +99,8 @@ "getSfsResourcePoolSnapshot.ts", "getSfsShare.ts", "getSkeCluster.ts", + "getSkeKubernetesVersions.ts", + "getSkeMachineImageVersions.ts", "getSqlserverflexInstance.ts", "getSqlserverflexUser.ts", "getVolume.ts", diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 0546c59..ca43253 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -1684,6 +1684,55 @@ export interface GetSkeClusterNodePoolTaint { value: string; } +export interface GetSkeKubernetesVersionsKubernetesVersion { + /** + * Expiration date of the version in RFC3339 format. + */ + expirationDate: string; + /** + * Map of available feature gates for this version. + */ + featureGates: {[key: string]: string}; + /** + * State of the kubernetes version. + */ + state: string; + /** + * Kubernetes version string (e.g., `1.33.6`). + */ + version: string; +} + +export interface GetSkeMachineImageVersionsMachineImage { + /** + * Name of the OS image (e.g., `ubuntu` or `flatcar`). + */ + name: string; + /** + * Supported versions of the image. + */ + versions: outputs.GetSkeMachineImageVersionsMachineImageVersion[]; +} + +export interface GetSkeMachineImageVersionsMachineImageVersion { + /** + * Container runtimes supported (e.g., `containerd`). + */ + cris: string[]; + /** + * Expiration date of the version in RFC3339 format. + */ + expirationDate: string; + /** + * State of the image version. + */ + state: string; + /** + * Machine image version string. + */ + version: string; +} + export interface GetSqlserverflexInstanceFlavor { cpu: number; description: string; diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index ab79401..4a550cc 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -9,6 +9,7 @@ from .affinity_group import * from .authorization_folder_role_assignment import * from .authorization_organization_role_assignment import * +from .authorization_project_custom_role import * from .authorization_project_role_assignment import * from .cdn_custom_domain import * from .cdn_distribution import * @@ -18,6 +19,7 @@ from .edgecloud_kubeconfig import * from .edgecloud_token import * from .get_affinity_group import * +from .get_authorization_project_custom_role import * from .get_cdn_custom_domain import * from .get_cdn_distribution import * from .get_dns_record_set import * @@ -88,6 +90,8 @@ from .get_sfs_resource_pool_snapshot import * from .get_sfs_share import * from .get_ske_cluster import * +from .get_ske_kubernetes_versions import * +from .get_ske_machine_image_versions import * from .get_sqlserverflex_instance import * from .get_sqlserverflex_user import * from .get_volume import * @@ -196,6 +200,14 @@ "stackit:index/authorizationOrganizationRoleAssignment:AuthorizationOrganizationRoleAssignment": "AuthorizationOrganizationRoleAssignment" } }, + { + "pkg": "stackit", + "mod": "index/authorizationProjectCustomRole", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole": "AuthorizationProjectCustomRole" + } + }, { "pkg": "stackit", "mod": "index/authorizationProjectRoleAssignment", diff --git a/sdk/python/pulumi_stackit/authorization_project_custom_role.py b/sdk/python/pulumi_stackit/authorization_project_custom_role.py new file mode 100644 index 0000000..8f9f70b --- /dev/null +++ b/sdk/python/pulumi_stackit/authorization_project_custom_role.py @@ -0,0 +1,327 @@ +# 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__ = ['AuthorizationProjectCustomRoleArgs', 'AuthorizationProjectCustomRole'] + +@pulumi.input_type +class AuthorizationProjectCustomRoleArgs: + def __init__(__self__, *, + description: pulumi.Input[_builtins.str], + permissions: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + resource_id: pulumi.Input[_builtins.str], + name: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a AuthorizationProjectCustomRole resource. + :param pulumi.Input[_builtins.str] description: A human readable description of the role. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: Permissions for the role + :param pulumi.Input[_builtins.str] resource_id: Resource to add the custom role to. + :param pulumi.Input[_builtins.str] name: Name of the role + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "permissions", permissions) + pulumi.set(__self__, "resource_id", resource_id) + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[_builtins.str]: + """ + A human readable description of the role. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def permissions(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Permissions for the role + """ + return pulumi.get(self, "permissions") + + @permissions.setter + def permissions(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "permissions", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[_builtins.str]: + """ + Resource to add the custom 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 name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the role + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + +@pulumi.input_type +class _AuthorizationProjectCustomRoleState: + def __init__(__self__, *, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering AuthorizationProjectCustomRole resources. + :param pulumi.Input[_builtins.str] description: A human readable description of the role. + :param pulumi.Input[_builtins.str] name: Name of the role + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: Permissions for the role + :param pulumi.Input[_builtins.str] resource_id: Resource to add the custom role to. + :param pulumi.Input[_builtins.str] role_id: The ID of the role. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if permissions is not None: + pulumi.set(__self__, "permissions", permissions) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if role_id is not None: + pulumi.set(__self__, "role_id", role_id) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + A human readable description of the role. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the role + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def permissions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Permissions for the role + """ + return pulumi.get(self, "permissions") + + @permissions.setter + def permissions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "permissions", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource to add the custom 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(name="roleId") + def role_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the role. + """ + return pulumi.get(self, "role_id") + + @role_id.setter + def role_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "role_id", value) + + +@pulumi.type_token("stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole") +class AuthorizationProjectCustomRole(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Custom Role resource schema. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: A human readable description of the role. + :param pulumi.Input[_builtins.str] name: Name of the role + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: Permissions for the role + :param pulumi.Input[_builtins.str] resource_id: Resource to add the custom role to. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: AuthorizationProjectCustomRoleArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Custom Role resource schema. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param AuthorizationProjectCustomRoleArgs 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(AuthorizationProjectCustomRoleArgs, 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, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + resource_id: 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__ = AuthorizationProjectCustomRoleArgs.__new__(AuthorizationProjectCustomRoleArgs) + + if description is None and not opts.urn: + raise TypeError("Missing required property 'description'") + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + if permissions is None and not opts.urn: + raise TypeError("Missing required property 'permissions'") + __props__.__dict__["permissions"] = permissions + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["role_id"] = None + super(AuthorizationProjectCustomRole, __self__).__init__( + 'stackit:index/authorizationProjectCustomRole:AuthorizationProjectCustomRole', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + permissions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthorizationProjectCustomRole': + """ + Get an existing AuthorizationProjectCustomRole 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] description: A human readable description of the role. + :param pulumi.Input[_builtins.str] name: Name of the role + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: Permissions for the role + :param pulumi.Input[_builtins.str] resource_id: Resource to add the custom role to. + :param pulumi.Input[_builtins.str] role_id: The ID of the role. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _AuthorizationProjectCustomRoleState.__new__(_AuthorizationProjectCustomRoleState) + + __props__.__dict__["description"] = description + __props__.__dict__["name"] = name + __props__.__dict__["permissions"] = permissions + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["role_id"] = role_id + return AuthorizationProjectCustomRole(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + A human readable description of the role. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the role + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def permissions(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + Permissions for the role + """ + return pulumi.get(self, "permissions") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[_builtins.str]: + """ + Resource to add the custom role to. + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="roleId") + def role_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the role. + """ + return pulumi.get(self, "role_id") + diff --git a/sdk/python/pulumi_stackit/get_authorization_project_custom_role.py b/sdk/python/pulumi_stackit/get_authorization_project_custom_role.py new file mode 100644 index 0000000..6fd1514 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_authorization_project_custom_role.py @@ -0,0 +1,157 @@ +# 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__ = [ + 'GetAuthorizationProjectCustomRoleResult', + 'AwaitableGetAuthorizationProjectCustomRoleResult', + 'get_authorization_project_custom_role', + 'get_authorization_project_custom_role_output', +] + +@pulumi.output_type +class GetAuthorizationProjectCustomRoleResult: + """ + A collection of values returned by getAuthorizationProjectCustomRole. + """ + def __init__(__self__, description=None, id=None, name=None, permissions=None, resource_id=None, role_id=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if permissions and not isinstance(permissions, list): + raise TypeError("Expected argument 'permissions' to be a list") + pulumi.set(__self__, "permissions", permissions) + if resource_id and not isinstance(resource_id, str): + raise TypeError("Expected argument 'resource_id' to be a str") + pulumi.set(__self__, "resource_id", resource_id) + if role_id and not isinstance(role_id, str): + raise TypeError("Expected argument 'role_id' to be a str") + pulumi.set(__self__, "role_id", role_id) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + A human readable description of the role. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the role + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def permissions(self) -> Sequence[_builtins.str]: + """ + Permissions for the role + """ + return pulumi.get(self, "permissions") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> _builtins.str: + """ + Resource to add the custom role to. + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="roleId") + def role_id(self) -> _builtins.str: + """ + The ID of the role. + """ + return pulumi.get(self, "role_id") + + +class AwaitableGetAuthorizationProjectCustomRoleResult(GetAuthorizationProjectCustomRoleResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetAuthorizationProjectCustomRoleResult( + description=self.description, + id=self.id, + name=self.name, + permissions=self.permissions, + resource_id=self.resource_id, + role_id=self.role_id) + + +def get_authorization_project_custom_role(resource_id: Optional[_builtins.str] = None, + role_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAuthorizationProjectCustomRoleResult: + """ + Custom Role resource schema. + + ## Example Usage + + + :param _builtins.str resource_id: Resource to add the custom role to. + :param _builtins.str role_id: The ID of the role. + """ + __args__ = dict() + __args__['resourceId'] = resource_id + __args__['roleId'] = role_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole', __args__, opts=opts, typ=GetAuthorizationProjectCustomRoleResult).value + + return AwaitableGetAuthorizationProjectCustomRoleResult( + description=pulumi.get(__ret__, 'description'), + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + permissions=pulumi.get(__ret__, 'permissions'), + resource_id=pulumi.get(__ret__, 'resource_id'), + role_id=pulumi.get(__ret__, 'role_id')) +def get_authorization_project_custom_role_output(resource_id: Optional[pulumi.Input[_builtins.str]] = None, + role_id: Optional[pulumi.Input[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetAuthorizationProjectCustomRoleResult]: + """ + Custom Role resource schema. + + ## Example Usage + + + :param _builtins.str resource_id: Resource to add the custom role to. + :param _builtins.str role_id: The ID of the role. + """ + __args__ = dict() + __args__['resourceId'] = resource_id + __args__['roleId'] = role_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getAuthorizationProjectCustomRole:getAuthorizationProjectCustomRole', __args__, opts=opts, typ=GetAuthorizationProjectCustomRoleResult) + return __ret__.apply(lambda __response__: GetAuthorizationProjectCustomRoleResult( + description=pulumi.get(__response__, 'description'), + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + permissions=pulumi.get(__response__, 'permissions'), + resource_id=pulumi.get(__response__, 'resource_id'), + role_id=pulumi.get(__response__, 'role_id'))) diff --git a/sdk/python/pulumi_stackit/get_observability_instance.py b/sdk/python/pulumi_stackit/get_observability_instance.py index 97279d4..e2bb396 100644 --- a/sdk/python/pulumi_stackit/get_observability_instance.py +++ b/sdk/python/pulumi_stackit/get_observability_instance.py @@ -27,7 +27,7 @@ class GetObservabilityInstanceResult: """ A collection of values returned by getObservabilityInstance. """ - def __init__(__self__, acls=None, alert_config=None, alerting_url=None, dashboard_url=None, grafana_initial_admin_password=None, grafana_initial_admin_user=None, grafana_public_read_access=None, grafana_url=None, id=None, instance_id=None, is_updatable=None, jaeger_traces_url=None, jaeger_ui_url=None, logs_push_url=None, logs_retention_days=None, logs_url=None, metrics_push_url=None, metrics_retention_days=None, metrics_retention_days1h_downsampling=None, metrics_retention_days5m_downsampling=None, metrics_url=None, name=None, otlp_traces_url=None, parameters=None, plan_id=None, plan_name=None, project_id=None, targets_url=None, traces_retention_days=None, zipkin_spans_url=None): + def __init__(__self__, acls=None, alert_config=None, alerting_url=None, dashboard_url=None, grafana_admin_enabled=None, grafana_public_read_access=None, grafana_url=None, id=None, instance_id=None, is_updatable=None, jaeger_traces_url=None, jaeger_ui_url=None, logs_push_url=None, logs_retention_days=None, logs_url=None, metrics_push_url=None, metrics_retention_days=None, metrics_retention_days1h_downsampling=None, metrics_retention_days5m_downsampling=None, metrics_url=None, name=None, otlp_traces_url=None, parameters=None, plan_id=None, plan_name=None, project_id=None, targets_url=None, traces_retention_days=None, zipkin_spans_url=None): if acls and not isinstance(acls, list): raise TypeError("Expected argument 'acls' to be a list") pulumi.set(__self__, "acls", acls) @@ -40,12 +40,9 @@ def __init__(__self__, acls=None, alert_config=None, alerting_url=None, dashboar if dashboard_url and not isinstance(dashboard_url, str): raise TypeError("Expected argument 'dashboard_url' to be a str") pulumi.set(__self__, "dashboard_url", dashboard_url) - if grafana_initial_admin_password and not isinstance(grafana_initial_admin_password, str): - raise TypeError("Expected argument 'grafana_initial_admin_password' to be a str") - pulumi.set(__self__, "grafana_initial_admin_password", grafana_initial_admin_password) - if grafana_initial_admin_user and not isinstance(grafana_initial_admin_user, str): - raise TypeError("Expected argument 'grafana_initial_admin_user' to be a str") - pulumi.set(__self__, "grafana_initial_admin_user", grafana_initial_admin_user) + if grafana_admin_enabled and not isinstance(grafana_admin_enabled, bool): + raise TypeError("Expected argument 'grafana_admin_enabled' to be a bool") + pulumi.set(__self__, "grafana_admin_enabled", grafana_admin_enabled) if grafana_public_read_access and not isinstance(grafana_public_read_access, bool): raise TypeError("Expected argument 'grafana_public_read_access' to be a bool") pulumi.set(__self__, "grafana_public_read_access", grafana_public_read_access) @@ -152,20 +149,12 @@ def dashboard_url(self) -> _builtins.str: return pulumi.get(self, "dashboard_url") @_builtins.property - @pulumi.getter(name="grafanaInitialAdminPassword") - def grafana_initial_admin_password(self) -> _builtins.str: + @pulumi.getter(name="grafanaAdminEnabled") + def grafana_admin_enabled(self) -> _builtins.bool: """ - Specifies an initial Grafana admin password. + If true, a default Grafana server admin user was created. """ - return pulumi.get(self, "grafana_initial_admin_password") - - @_builtins.property - @pulumi.getter(name="grafanaInitialAdminUser") - def grafana_initial_admin_user(self) -> _builtins.str: - """ - Specifies an initial Grafana admin username. - """ - return pulumi.get(self, "grafana_initial_admin_user") + return pulumi.get(self, "grafana_admin_enabled") @_builtins.property @pulumi.getter(name="grafanaPublicReadAccess") @@ -355,8 +344,7 @@ def __await__(self): alert_config=self.alert_config, alerting_url=self.alerting_url, dashboard_url=self.dashboard_url, - grafana_initial_admin_password=self.grafana_initial_admin_password, - grafana_initial_admin_user=self.grafana_initial_admin_user, + grafana_admin_enabled=self.grafana_admin_enabled, grafana_public_read_access=self.grafana_public_read_access, grafana_url=self.grafana_url, id=self.id, @@ -406,8 +394,7 @@ def get_observability_instance(instance_id: Optional[_builtins.str] = None, alert_config=pulumi.get(__ret__, 'alert_config'), alerting_url=pulumi.get(__ret__, 'alerting_url'), dashboard_url=pulumi.get(__ret__, 'dashboard_url'), - grafana_initial_admin_password=pulumi.get(__ret__, 'grafana_initial_admin_password'), - grafana_initial_admin_user=pulumi.get(__ret__, 'grafana_initial_admin_user'), + grafana_admin_enabled=pulumi.get(__ret__, 'grafana_admin_enabled'), grafana_public_read_access=pulumi.get(__ret__, 'grafana_public_read_access'), grafana_url=pulumi.get(__ret__, 'grafana_url'), id=pulumi.get(__ret__, 'id'), @@ -454,8 +441,7 @@ def get_observability_instance_output(instance_id: Optional[pulumi.Input[_builti alert_config=pulumi.get(__response__, 'alert_config'), alerting_url=pulumi.get(__response__, 'alerting_url'), dashboard_url=pulumi.get(__response__, 'dashboard_url'), - grafana_initial_admin_password=pulumi.get(__response__, 'grafana_initial_admin_password'), - grafana_initial_admin_user=pulumi.get(__response__, 'grafana_initial_admin_user'), + grafana_admin_enabled=pulumi.get(__response__, 'grafana_admin_enabled'), grafana_public_read_access=pulumi.get(__response__, 'grafana_public_read_access'), grafana_url=pulumi.get(__response__, 'grafana_url'), id=pulumi.get(__response__, 'id'), diff --git a/sdk/python/pulumi_stackit/get_ske_kubernetes_versions.py b/sdk/python/pulumi_stackit/get_ske_kubernetes_versions.py new file mode 100644 index 0000000..b5e1e5b --- /dev/null +++ b/sdk/python/pulumi_stackit/get_ske_kubernetes_versions.py @@ -0,0 +1,133 @@ +# 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 +from . import outputs + +__all__ = [ + 'GetSkeKubernetesVersionsResult', + 'AwaitableGetSkeKubernetesVersionsResult', + 'get_ske_kubernetes_versions', + 'get_ske_kubernetes_versions_output', +] + +@pulumi.output_type +class GetSkeKubernetesVersionsResult: + """ + A collection of values returned by getSkeKubernetesVersions. + """ + def __init__(__self__, id=None, kubernetes_versions=None, region=None, version_state=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if kubernetes_versions and not isinstance(kubernetes_versions, list): + raise TypeError("Expected argument 'kubernetes_versions' to be a list") + pulumi.set(__self__, "kubernetes_versions", kubernetes_versions) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if version_state and not isinstance(version_state, str): + raise TypeError("Expected argument 'version_state' to be a str") + pulumi.set(__self__, "version_state", version_state) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="kubernetesVersions") + def kubernetes_versions(self) -> Sequence['outputs.GetSkeKubernetesVersionsKubernetesVersionResult']: + """ + Kubernetes versions and their metadata. + """ + return pulumi.get(self, "kubernetes_versions") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + Region override. If omitted, the provider’s region will be used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="versionState") + def version_state(self) -> Optional[_builtins.str]: + """ + If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + return pulumi.get(self, "version_state") + + +class AwaitableGetSkeKubernetesVersionsResult(GetSkeKubernetesVersionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSkeKubernetesVersionsResult( + id=self.id, + kubernetes_versions=self.kubernetes_versions, + region=self.region, + version_state=self.version_state) + + +def get_ske_kubernetes_versions(region: Optional[_builtins.str] = None, + version_state: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSkeKubernetesVersionsResult: + """ + Returns Kubernetes versions as reported by the SKE provider options API for the given region. + + ## Example Usage + + + :param _builtins.str region: Region override. If omitted, the provider’s region will be used. + :param _builtins.str version_state: If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + __args__ = dict() + __args__['region'] = region + __args__['versionState'] = version_state + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions', __args__, opts=opts, typ=GetSkeKubernetesVersionsResult).value + + return AwaitableGetSkeKubernetesVersionsResult( + id=pulumi.get(__ret__, 'id'), + kubernetes_versions=pulumi.get(__ret__, 'kubernetes_versions'), + region=pulumi.get(__ret__, 'region'), + version_state=pulumi.get(__ret__, 'version_state')) +def get_ske_kubernetes_versions_output(region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + version_state: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSkeKubernetesVersionsResult]: + """ + Returns Kubernetes versions as reported by the SKE provider options API for the given region. + + ## Example Usage + + + :param _builtins.str region: Region override. If omitted, the provider’s region will be used. + :param _builtins.str version_state: If specified, only returns Kubernetes versions with this version state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + __args__ = dict() + __args__['region'] = region + __args__['versionState'] = version_state + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions', __args__, opts=opts, typ=GetSkeKubernetesVersionsResult) + return __ret__.apply(lambda __response__: GetSkeKubernetesVersionsResult( + id=pulumi.get(__response__, 'id'), + kubernetes_versions=pulumi.get(__response__, 'kubernetes_versions'), + region=pulumi.get(__response__, 'region'), + version_state=pulumi.get(__response__, 'version_state'))) diff --git a/sdk/python/pulumi_stackit/get_ske_machine_image_versions.py b/sdk/python/pulumi_stackit/get_ske_machine_image_versions.py new file mode 100644 index 0000000..3b30f5f --- /dev/null +++ b/sdk/python/pulumi_stackit/get_ske_machine_image_versions.py @@ -0,0 +1,133 @@ +# 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 +from . import outputs + +__all__ = [ + 'GetSkeMachineImageVersionsResult', + 'AwaitableGetSkeMachineImageVersionsResult', + 'get_ske_machine_image_versions', + 'get_ske_machine_image_versions_output', +] + +@pulumi.output_type +class GetSkeMachineImageVersionsResult: + """ + A collection of values returned by getSkeMachineImageVersions. + """ + def __init__(__self__, id=None, machine_images=None, region=None, version_state=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if machine_images and not isinstance(machine_images, list): + raise TypeError("Expected argument 'machine_images' to be a list") + pulumi.set(__self__, "machine_images", machine_images) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if version_state and not isinstance(version_state, str): + raise TypeError("Expected argument 'version_state' to be a str") + pulumi.set(__self__, "version_state", version_state) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The provider-assigned unique ID for this managed resource. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="machineImages") + def machine_images(self) -> Sequence['outputs.GetSkeMachineImageVersionsMachineImageResult']: + """ + Supported machine image types and versions. + """ + return pulumi.get(self, "machine_images") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + Region override. If omitted, the provider’s region will be used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="versionState") + def version_state(self) -> Optional[_builtins.str]: + """ + Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + return pulumi.get(self, "version_state") + + +class AwaitableGetSkeMachineImageVersionsResult(GetSkeMachineImageVersionsResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSkeMachineImageVersionsResult( + id=self.id, + machine_images=self.machine_images, + region=self.region, + version_state=self.version_state) + + +def get_ske_machine_image_versions(region: Optional[_builtins.str] = None, + version_state: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSkeMachineImageVersionsResult: + """ + Returns a list of supported Kubernetes machine image versions for the cluster nodes. + + ## Example Usage + + + :param _builtins.str region: Region override. If omitted, the provider’s region will be used. + :param _builtins.str version_state: Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + __args__ = dict() + __args__['region'] = region + __args__['versionState'] = version_state + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions', __args__, opts=opts, typ=GetSkeMachineImageVersionsResult).value + + return AwaitableGetSkeMachineImageVersionsResult( + id=pulumi.get(__ret__, 'id'), + machine_images=pulumi.get(__ret__, 'machine_images'), + region=pulumi.get(__ret__, 'region'), + version_state=pulumi.get(__ret__, 'version_state')) +def get_ske_machine_image_versions_output(region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + version_state: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSkeMachineImageVersionsResult]: + """ + Returns a list of supported Kubernetes machine image versions for the cluster nodes. + + ## Example Usage + + + :param _builtins.str region: Region override. If omitted, the provider’s region will be used. + :param _builtins.str version_state: Filter returned machine image versions by their state. Possible values are: `UNSPECIFIED`, `SUPPORTED`. + """ + __args__ = dict() + __args__['region'] = region + __args__['versionState'] = version_state + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions', __args__, opts=opts, typ=GetSkeMachineImageVersionsResult) + return __ret__.apply(lambda __response__: GetSkeMachineImageVersionsResult( + id=pulumi.get(__response__, 'id'), + machine_images=pulumi.get(__response__, 'machine_images'), + region=pulumi.get(__response__, 'region'), + version_state=pulumi.get(__response__, 'version_state'))) diff --git a/sdk/python/pulumi_stackit/observability_instance.py b/sdk/python/pulumi_stackit/observability_instance.py index 1f3cf1e..e940de0 100644 --- a/sdk/python/pulumi_stackit/observability_instance.py +++ b/sdk/python/pulumi_stackit/observability_instance.py @@ -25,6 +25,7 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, alert_config: Optional[pulumi.Input['ObservabilityInstanceAlertConfigArgs']] = None, + grafana_admin_enabled: Optional[pulumi.Input[_builtins.bool]] = None, logs_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days1h_downsampling: Optional[pulumi.Input[_builtins.int]] = None, @@ -38,6 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation. :param pulumi.Input['ObservabilityInstanceAlertConfigArgs'] alert_config: Alert configuration for the instance. + :param pulumi.Input[_builtins.bool] grafana_admin_enabled: If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. :param pulumi.Input[_builtins.int] logs_retention_days: Specifies for how many days the logs are kept. Default is set to `7`. :param pulumi.Input[_builtins.int] metrics_retention_days: Specifies for how many days the raw metrics are kept. Default is set to `90`. :param pulumi.Input[_builtins.int] metrics_retention_days1h_downsampling: Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `90`. @@ -52,6 +54,8 @@ def __init__(__self__, *, pulumi.set(__self__, "acls", acls) if alert_config is not None: pulumi.set(__self__, "alert_config", alert_config) + if grafana_admin_enabled is not None: + pulumi.set(__self__, "grafana_admin_enabled", grafana_admin_enabled) if logs_retention_days is not None: pulumi.set(__self__, "logs_retention_days", logs_retention_days) if metrics_retention_days is not None: @@ -115,6 +119,18 @@ def alert_config(self) -> Optional[pulumi.Input['ObservabilityInstanceAlertConfi def alert_config(self, value: Optional[pulumi.Input['ObservabilityInstanceAlertConfigArgs']]): pulumi.set(self, "alert_config", value) + @_builtins.property + @pulumi.getter(name="grafanaAdminEnabled") + def grafana_admin_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. + """ + return pulumi.get(self, "grafana_admin_enabled") + + @grafana_admin_enabled.setter + def grafana_admin_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "grafana_admin_enabled", value) + @_builtins.property @pulumi.getter(name="logsRetentionDays") def logs_retention_days(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -207,8 +223,7 @@ def __init__(__self__, *, alert_config: Optional[pulumi.Input['ObservabilityInstanceAlertConfigArgs']] = None, alerting_url: Optional[pulumi.Input[_builtins.str]] = None, dashboard_url: Optional[pulumi.Input[_builtins.str]] = None, - grafana_initial_admin_password: Optional[pulumi.Input[_builtins.str]] = None, - grafana_initial_admin_user: Optional[pulumi.Input[_builtins.str]] = None, + grafana_admin_enabled: Optional[pulumi.Input[_builtins.bool]] = None, grafana_public_read_access: Optional[pulumi.Input[_builtins.bool]] = None, grafana_url: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -238,8 +253,7 @@ def __init__(__self__, *, :param pulumi.Input['ObservabilityInstanceAlertConfigArgs'] alert_config: Alert configuration for the instance. :param pulumi.Input[_builtins.str] alerting_url: Specifies Alerting URL. :param pulumi.Input[_builtins.str] dashboard_url: Specifies Observability instance dashboard URL. - :param pulumi.Input[_builtins.str] grafana_initial_admin_password: Specifies an initial Grafana admin password. - :param pulumi.Input[_builtins.str] grafana_initial_admin_user: Specifies an initial Grafana admin username. + :param pulumi.Input[_builtins.bool] grafana_admin_enabled: If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. :param pulumi.Input[_builtins.bool] grafana_public_read_access: If true, anyone can access Grafana dashboards without logging in. :param pulumi.Input[_builtins.str] grafana_url: Specifies Grafana URL. :param pulumi.Input[_builtins.str] instance_id: The Observability instance ID. @@ -268,10 +282,8 @@ def __init__(__self__, *, pulumi.set(__self__, "alerting_url", alerting_url) if dashboard_url is not None: pulumi.set(__self__, "dashboard_url", dashboard_url) - if grafana_initial_admin_password is not None: - pulumi.set(__self__, "grafana_initial_admin_password", grafana_initial_admin_password) - if grafana_initial_admin_user is not None: - pulumi.set(__self__, "grafana_initial_admin_user", grafana_initial_admin_user) + if grafana_admin_enabled is not None: + pulumi.set(__self__, "grafana_admin_enabled", grafana_admin_enabled) if grafana_public_read_access is not None: pulumi.set(__self__, "grafana_public_read_access", grafana_public_read_access) if grafana_url is not None: @@ -368,28 +380,16 @@ def dashboard_url(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "dashboard_url", value) @_builtins.property - @pulumi.getter(name="grafanaInitialAdminPassword") - def grafana_initial_admin_password(self) -> Optional[pulumi.Input[_builtins.str]]: - """ - Specifies an initial Grafana admin password. - """ - return pulumi.get(self, "grafana_initial_admin_password") - - @grafana_initial_admin_password.setter - def grafana_initial_admin_password(self, value: Optional[pulumi.Input[_builtins.str]]): - pulumi.set(self, "grafana_initial_admin_password", value) - - @_builtins.property - @pulumi.getter(name="grafanaInitialAdminUser") - def grafana_initial_admin_user(self) -> Optional[pulumi.Input[_builtins.str]]: + @pulumi.getter(name="grafanaAdminEnabled") + def grafana_admin_enabled(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Specifies an initial Grafana admin username. + If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. """ - return pulumi.get(self, "grafana_initial_admin_user") + return pulumi.get(self, "grafana_admin_enabled") - @grafana_initial_admin_user.setter - def grafana_initial_admin_user(self, value: Optional[pulumi.Input[_builtins.str]]): - pulumi.set(self, "grafana_initial_admin_user", value) + @grafana_admin_enabled.setter + def grafana_admin_enabled(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "grafana_admin_enabled", value) @_builtins.property @pulumi.getter(name="grafanaPublicReadAccess") @@ -664,6 +664,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, alert_config: Optional[pulumi.Input[Union['ObservabilityInstanceAlertConfigArgs', 'ObservabilityInstanceAlertConfigArgsDict']]] = None, + grafana_admin_enabled: Optional[pulumi.Input[_builtins.bool]] = None, logs_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days1h_downsampling: Optional[pulumi.Input[_builtins.int]] = None, @@ -683,6 +684,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation. :param pulumi.Input[Union['ObservabilityInstanceAlertConfigArgs', 'ObservabilityInstanceAlertConfigArgsDict']] alert_config: Alert configuration for the instance. + :param pulumi.Input[_builtins.bool] grafana_admin_enabled: If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. :param pulumi.Input[_builtins.int] logs_retention_days: Specifies for how many days the logs are kept. Default is set to `7`. :param pulumi.Input[_builtins.int] metrics_retention_days: Specifies for how many days the raw metrics are kept. Default is set to `90`. :param pulumi.Input[_builtins.int] metrics_retention_days1h_downsampling: Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to `90`. @@ -721,6 +723,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, alert_config: Optional[pulumi.Input[Union['ObservabilityInstanceAlertConfigArgs', 'ObservabilityInstanceAlertConfigArgsDict']]] = None, + grafana_admin_enabled: Optional[pulumi.Input[_builtins.bool]] = None, logs_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days: Optional[pulumi.Input[_builtins.int]] = None, metrics_retention_days1h_downsampling: Optional[pulumi.Input[_builtins.int]] = None, @@ -741,6 +744,7 @@ def _internal_init(__self__, __props__.__dict__["acls"] = acls __props__.__dict__["alert_config"] = alert_config + __props__.__dict__["grafana_admin_enabled"] = grafana_admin_enabled __props__.__dict__["logs_retention_days"] = logs_retention_days __props__.__dict__["metrics_retention_days"] = metrics_retention_days __props__.__dict__["metrics_retention_days1h_downsampling"] = metrics_retention_days1h_downsampling @@ -756,8 +760,6 @@ def _internal_init(__self__, __props__.__dict__["traces_retention_days"] = traces_retention_days __props__.__dict__["alerting_url"] = None __props__.__dict__["dashboard_url"] = None - __props__.__dict__["grafana_initial_admin_password"] = None - __props__.__dict__["grafana_initial_admin_user"] = None __props__.__dict__["grafana_public_read_access"] = None __props__.__dict__["grafana_url"] = None __props__.__dict__["instance_id"] = None @@ -772,8 +774,6 @@ def _internal_init(__self__, __props__.__dict__["plan_id"] = None __props__.__dict__["targets_url"] = None __props__.__dict__["zipkin_spans_url"] = None - secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["grafanaInitialAdminPassword"]) - opts = pulumi.ResourceOptions.merge(opts, secret_opts) super(ObservabilityInstance, __self__).__init__( 'stackit:index/observabilityInstance:ObservabilityInstance', resource_name, @@ -788,8 +788,7 @@ def get(resource_name: str, alert_config: Optional[pulumi.Input[Union['ObservabilityInstanceAlertConfigArgs', 'ObservabilityInstanceAlertConfigArgsDict']]] = None, alerting_url: Optional[pulumi.Input[_builtins.str]] = None, dashboard_url: Optional[pulumi.Input[_builtins.str]] = None, - grafana_initial_admin_password: Optional[pulumi.Input[_builtins.str]] = None, - grafana_initial_admin_user: Optional[pulumi.Input[_builtins.str]] = None, + grafana_admin_enabled: Optional[pulumi.Input[_builtins.bool]] = None, grafana_public_read_access: Optional[pulumi.Input[_builtins.bool]] = None, grafana_url: Optional[pulumi.Input[_builtins.str]] = None, instance_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -824,8 +823,7 @@ def get(resource_name: str, :param pulumi.Input[Union['ObservabilityInstanceAlertConfigArgs', 'ObservabilityInstanceAlertConfigArgsDict']] alert_config: Alert configuration for the instance. :param pulumi.Input[_builtins.str] alerting_url: Specifies Alerting URL. :param pulumi.Input[_builtins.str] dashboard_url: Specifies Observability instance dashboard URL. - :param pulumi.Input[_builtins.str] grafana_initial_admin_password: Specifies an initial Grafana admin password. - :param pulumi.Input[_builtins.str] grafana_initial_admin_user: Specifies an initial Grafana admin username. + :param pulumi.Input[_builtins.bool] grafana_admin_enabled: If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. :param pulumi.Input[_builtins.bool] grafana_public_read_access: If true, anyone can access Grafana dashboards without logging in. :param pulumi.Input[_builtins.str] grafana_url: Specifies Grafana URL. :param pulumi.Input[_builtins.str] instance_id: The Observability instance ID. @@ -854,8 +852,7 @@ def get(resource_name: str, __props__.__dict__["alert_config"] = alert_config __props__.__dict__["alerting_url"] = alerting_url __props__.__dict__["dashboard_url"] = dashboard_url - __props__.__dict__["grafana_initial_admin_password"] = grafana_initial_admin_password - __props__.__dict__["grafana_initial_admin_user"] = grafana_initial_admin_user + __props__.__dict__["grafana_admin_enabled"] = grafana_admin_enabled __props__.__dict__["grafana_public_read_access"] = grafana_public_read_access __props__.__dict__["grafana_url"] = grafana_url __props__.__dict__["instance_id"] = instance_id @@ -914,20 +911,12 @@ def dashboard_url(self) -> pulumi.Output[_builtins.str]: return pulumi.get(self, "dashboard_url") @_builtins.property - @pulumi.getter(name="grafanaInitialAdminPassword") - def grafana_initial_admin_password(self) -> pulumi.Output[_builtins.str]: - """ - Specifies an initial Grafana admin password. - """ - return pulumi.get(self, "grafana_initial_admin_password") - - @_builtins.property - @pulumi.getter(name="grafanaInitialAdminUser") - def grafana_initial_admin_user(self) -> pulumi.Output[_builtins.str]: + @pulumi.getter(name="grafanaAdminEnabled") + def grafana_admin_enabled(self) -> pulumi.Output[_builtins.bool]: """ - Specifies an initial Grafana admin username. + If true, a default Grafana server admin user is created. It's recommended to set this to false and use STACKIT SSO (Owner or Observability Grafana Server Admin role) instead. It is still possible to manually create a new Grafana admin user via the Grafana UI later. """ - return pulumi.get(self, "grafana_initial_admin_user") + return pulumi.get(self, "grafana_admin_enabled") @_builtins.property @pulumi.getter(name="grafanaPublicReadAccess") diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index c755970..8d506d5 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -167,6 +167,9 @@ 'GetSkeClusterNetworkResult', 'GetSkeClusterNodePoolResult', 'GetSkeClusterNodePoolTaintResult', + 'GetSkeKubernetesVersionsKubernetesVersionResult', + 'GetSkeMachineImageVersionsMachineImageResult', + 'GetSkeMachineImageVersionsMachineImageVersionResult', 'GetSqlserverflexInstanceFlavorResult', 'GetSqlserverflexInstanceOptionsResult', 'GetSqlserverflexInstanceStorageResult', @@ -9795,6 +9798,137 @@ def value(self) -> _builtins.str: return pulumi.get(self, "value") +@pulumi.output_type +class GetSkeKubernetesVersionsKubernetesVersionResult(dict): + def __init__(__self__, *, + expiration_date: _builtins.str, + feature_gates: Mapping[str, _builtins.str], + state: _builtins.str, + version: _builtins.str): + """ + :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. + :param Mapping[str, _builtins.str] feature_gates: Map of available feature gates for this version. + :param _builtins.str state: State of the kubernetes version. + :param _builtins.str version: Kubernetes version string (e.g., `1.33.6`). + """ + pulumi.set(__self__, "expiration_date", expiration_date) + pulumi.set(__self__, "feature_gates", feature_gates) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> _builtins.str: + """ + Expiration date of the version in RFC3339 format. + """ + return pulumi.get(self, "expiration_date") + + @_builtins.property + @pulumi.getter(name="featureGates") + def feature_gates(self) -> Mapping[str, _builtins.str]: + """ + Map of available feature gates for this version. + """ + return pulumi.get(self, "feature_gates") + + @_builtins.property + @pulumi.getter + def state(self) -> _builtins.str: + """ + State of the kubernetes version. + """ + return pulumi.get(self, "state") + + @_builtins.property + @pulumi.getter + def version(self) -> _builtins.str: + """ + Kubernetes version string (e.g., `1.33.6`). + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class GetSkeMachineImageVersionsMachineImageResult(dict): + def __init__(__self__, *, + name: _builtins.str, + versions: Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']): + """ + :param _builtins.str name: Name of the OS image (e.g., `ubuntu` or `flatcar`). + :param Sequence['GetSkeMachineImageVersionsMachineImageVersionArgs'] versions: Supported versions of the image. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "versions", versions) + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the OS image (e.g., `ubuntu` or `flatcar`). + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def versions(self) -> Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']: + """ + Supported versions of the image. + """ + return pulumi.get(self, "versions") + + +@pulumi.output_type +class GetSkeMachineImageVersionsMachineImageVersionResult(dict): + def __init__(__self__, *, + cris: Sequence[_builtins.str], + expiration_date: _builtins.str, + state: _builtins.str, + version: _builtins.str): + """ + :param Sequence[_builtins.str] cris: Container runtimes supported (e.g., `containerd`). + :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. + :param _builtins.str state: State of the image version. + :param _builtins.str version: Machine image version string. + """ + pulumi.set(__self__, "cris", cris) + pulumi.set(__self__, "expiration_date", expiration_date) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def cris(self) -> Sequence[_builtins.str]: + """ + Container runtimes supported (e.g., `containerd`). + """ + return pulumi.get(self, "cris") + + @_builtins.property + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> _builtins.str: + """ + Expiration date of the version in RFC3339 format. + """ + return pulumi.get(self, "expiration_date") + + @_builtins.property + @pulumi.getter + def state(self) -> _builtins.str: + """ + State of the image version. + """ + return pulumi.get(self, "state") + + @_builtins.property + @pulumi.getter + def version(self) -> _builtins.str: + """ + Machine image version string. + """ + return pulumi.get(self, "version") + + @pulumi.output_type class GetSqlserverflexInstanceFlavorResult(dict): def __init__(__self__, *,