diff --git a/go.work.sum b/go.work.sum index 8bd2e5f..c8b4cfd 100644 --- a/go.work.sum +++ b/go.work.sum @@ -533,6 +533,8 @@ golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8 h1:LvzTn0GQhWuvKH/kVRS golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54 h1:E2/AqCUMZGgd73TQkxUMcMla25GB9i/5HOdLr+uH7Vo= golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ= +golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc h1:bH6xUXay0AIFMElXG2rQ4uiE+7ncwtiOdPfYK1NK2XA= +golang.org/x/telemetry v0.0.0-20251203150158-8fff8a5912fc/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 2ab63c1..9dd6666 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -76,6 +76,15 @@ } } }, + "stackit_edgecloud_instance": { + "current": "stackit:index/edgecloudInstance:EdgecloudInstance" + }, + "stackit_edgecloud_kubeconfig": { + "current": "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig" + }, + "stackit_edgecloud_token": { + "current": "stackit:index/edgecloudToken:EdgecloudToken" + }, "stackit_git": { "current": "stackit:index/git:Git", "fields": { @@ -158,6 +167,14 @@ } } }, + "stackit_logs_instance": { + "current": "stackit:index/logsInstance:LogsInstance", + "fields": { + "acl": { + "maxItemsOne": false + } + } + }, "stackit_mariadb_credential": { "current": "stackit:index/mariadbCredential:MariadbCredential", "fields": { @@ -703,6 +720,22 @@ } } }, + "stackit_edgecloud_instances": { + "current": "stackit:index/getEdgecloudInstances:getEdgecloudInstances", + "fields": { + "instances": { + "maxItemsOne": false + } + } + }, + "stackit_edgecloud_plans": { + "current": "stackit:index/getEdgecloudPlans:getEdgecloudPlans", + "fields": { + "plans": { + "maxItemsOne": false + } + } + }, "stackit_git": { "current": "stackit:index/getGit:getGit", "fields": { @@ -788,6 +821,14 @@ } } }, + "stackit_logs_instance": { + "current": "stackit:index/getLogsInstance:getLogsInstance", + "fields": { + "acl": { + "maxItemsOne": false + } + } + }, "stackit_machine_type": { "current": "stackit:index/getMachineType:getMachineType" }, diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index 3680d10..d4238c8 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -75,6 +75,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "edgecloudCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Edge Cloud service" + }, "enableBetaResources": { "type": "boolean", "description": "Enable beta resources. Default is false." @@ -106,6 +110,10 @@ "type": "string", "description": "Custom endpoint for the LogMe service" }, + "logsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Logs service" + }, "mariadbCustomEndpoint": { "type": "string", "description": "Custom endpoint for the MariaDB service" @@ -2554,6 +2562,47 @@ } } }, + "stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters": { + "properties": { + "kekKeyId": { + "type": "string", + "description": "UUID of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyVersion": { + "type": "integer", + "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyringId": { + "type": "string", + "description": "UUID of the keyring where the key is located within the STACKTI-KMS.\n" + }, + "keyPayloadBase64": { + "type": "string", + "description": "Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", + "secret": true + }, + "keyPayloadBase64Wo": { + "type": "string", + "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", + "secret": true + }, + "keyPayloadBase64WoVersion": { + "type": "integer", + "description": "Used together with \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`key_payload_base64_wo`\u003c/span\u003e to trigger an re-create. Increment this value when an update to \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`key_payload_base64_wo`\u003c/span\u003e is required.\n" + }, + "serviceAccount": { + "type": "string", + "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ] + }, "stackit:index/VolumeSource:VolumeSource": { "properties": { "id": { @@ -2717,6 +2766,90 @@ } } }, + "stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance": { + "properties": { + "created": { + "type": "string", + "description": "The date and time the instance was created.\n" + }, + "description": { + "type": "string", + "description": "Description of the instance.\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the instance.\n" + }, + "frontendUrl": { + "type": "string", + "description": "Frontend URL for the Edge Cloud instance.\n" + }, + "instanceId": { + "type": "string", + "description": "The ID of the instance.\n" + }, + "planId": { + "type": "string", + "description": "The plan ID for the instance.\n" + }, + "region": { + "type": "string", + "description": "The region where the instance is located.\n" + }, + "status": { + "type": "string", + "description": "The status of the instance.\n" + } + }, + "type": "object", + "required": [ + "created", + "description", + "displayName", + "frontendUrl", + "instanceId", + "planId", + "region", + "status" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan": { + "properties": { + "description": { + "type": "string", + "description": "Description of the plan.\n" + }, + "id": { + "type": "string", + "description": "The ID of the plan.\n" + }, + "maxEdgeHosts": { + "type": "integer", + "description": "Maximum number of Edge Cloud hosts that can be used.\n" + }, + "name": { + "type": "string", + "description": "The name of the plan.\n" + } + }, + "type": "object", + "required": [ + "description", + "id", + "maxEdgeHosts", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getImageChecksum:getImageChecksum": { "properties": { "algorithm": { @@ -4689,6 +4822,10 @@ "type": "string", "description": "Description of the routing table.\n" }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -4718,6 +4855,7 @@ "createdAt", "default", "description", + "dynamicRoutes", "labels", "name", "routingTableId", @@ -5480,6 +5618,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "edgecloudCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Edge Cloud service" + }, "enableBetaResources": { "type": "boolean", "description": "Enable beta resources. Default is false." @@ -5511,6 +5653,10 @@ "type": "string", "description": "Custom endpoint for the LogMe service" }, + "logsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Logs service" + }, "mariadbCustomEndpoint": { "type": "string", "description": "Custom endpoint for the MariaDB service" @@ -5644,6 +5790,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "edgecloudCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Edge Cloud service" + }, "enableBetaResources": { "type": "boolean", "description": "Enable beta resources. Default is false." @@ -5675,6 +5825,10 @@ "type": "string", "description": "Custom endpoint for the LogMe service" }, + "logsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Logs service" + }, "mariadbCustomEndpoint": { "type": "string", "description": "Custom endpoint for the MariaDB service" @@ -6651,209 +6805,588 @@ "type": "object" } }, - "stackit:index/git:Git": { - "description": "Git Instance resource schema.\n\n\u003e This resource 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. This resource currently does not support updates. Changing the ACLs, flavor, or name will trigger resource recreation. Update functionality will be added soon. In the meantime, please proceed with caution. To update these attributes, please open a support ticket.\n\n## Example Usage\n\n```terraform\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n}\n\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n acl = [\n \"0.0.0.0/0\"\n ]\n flavor = \"git-100\"\n}\n\n# Only use the import statement, if you want to import an existing git resource\nimport {\n to = stackit_git.import-example\n id = \"${var.project_id},${var.git_instance_id}\"\n}\n```\n", + "stackit:index/edgecloudInstance:EdgecloudInstance": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource 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\nlocals {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"edge\"\n plan_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"cats live on the edge\"\n region = \"eu01\"\n}\n\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = local.display_name\n plan_id = local.plan_id\n description = local.description\n}\n\n# Only use the import statement, if you want to import an existing Edge Cloud instance resource\nimport {\n to = stackit_edgecloud_instance.this\n id = \"${local.project_id},${local.region},INSTANCE_ID\"\n}\n```\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Restricted ACL for instance access.\n" - }, - "consumedDisk": { + "created": { "type": "string", - "description": "How many bytes of disk space is consumed.\n" + "description": "The date and time the creation of the instance was triggered.\n" }, - "consumedObjectStorage": { + "description": { "type": "string", - "description": "How many bytes of Object Storage is consumed.\n" + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" }, - "created": { + "displayName": { "type": "string", - "description": "Instance creation timestamp in RFC3339 format.\n" + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" }, - "flavor": { + "frontendUrl": { "type": "string", - "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + "description": "Frontend URL for the Edge Cloud instance.\n" }, "instanceId": { "type": "string", - "description": "ID linked to the git instance.\n" + "description": "\\n\\n-\\n\\n\n" }, - "name": { + "planId": { "type": "string", - "description": "Unique name linked to the git instance.\n" + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the git instance is associated.\n" + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" }, - "url": { + "region": { "type": "string", - "description": "Url linked to the git instance.\n" + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e default_region \u003c/span\u003ewill be used if unset.\n" }, - "version": { + "status": { "type": "string", - "description": "Version linked to the git instance.\n" + "description": "instance status\n" } }, "required": [ - "acls", - "consumedDisk", - "consumedObjectStorage", "created", - "flavor", + "description", + "displayName", + "frontendUrl", "instanceId", - "name", + "planId", "projectId", - "url", - "version" + "region", + "status" ], "inputProperties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Restricted ACL for instance access.\n" + "description": { + "type": "string", + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" }, - "flavor": { + "displayName": { "type": "string", - "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" }, - "name": { + "planId": { "type": "string", - "description": "Unique name linked to the git instance.\n" + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the git instance is associated.\n" + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e default_region \u003c/span\u003ewill be used if unset.\n" } }, "requiredInputs": [ + "displayName", + "planId", "projectId" ], "stateInputs": { - "description": "Input properties used for looking up and filtering Git resources.\n", + "description": "Input properties used for looking up and filtering EdgecloudInstance resources.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Restricted ACL for instance access.\n" - }, - "consumedDisk": { + "created": { "type": "string", - "description": "How many bytes of disk space is consumed.\n" + "description": "The date and time the creation of the instance was triggered.\n" }, - "consumedObjectStorage": { + "description": { "type": "string", - "description": "How many bytes of Object Storage is consumed.\n" + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" }, - "created": { + "displayName": { "type": "string", - "description": "Instance creation timestamp in RFC3339 format.\n" + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" }, - "flavor": { + "frontendUrl": { "type": "string", - "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + "description": "Frontend URL for the Edge Cloud instance.\n" }, "instanceId": { "type": "string", - "description": "ID linked to the git instance.\n" + "description": "\\n\\n-\\n\\n\n" }, - "name": { + "planId": { "type": "string", - "description": "Unique name linked to the git instance.\n" + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the git instance is associated.\n" + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" }, - "url": { + "region": { "type": "string", - "description": "Url linked to the git instance.\n" + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e default_region \u003c/span\u003ewill be used if unset.\n" }, - "version": { + "status": { "type": "string", - "description": "Version linked to the git instance.\n" + "description": "instance status\n" } }, "type": "object" } }, - "stackit:index/image:Image": { - "description": "Image 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## Example Usage\n\n```terraform\nresource \"stackit_image\" \"example_image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-image\"\n disk_format = \"qcow2\"\n local_file_path = \"./path/to/image.qcow2\"\n min_disk_size = 10\n min_ram = 5\n}\n\n# Only use the import statement, if you want to import an existing image\n# Must set a configuration value for the local_file_path attribute as the provider has marked it as required.\n# Since this attribute is not fetched in general from the API call, after adding it this would replace your image resource after an pulumi up.\n# In order to prevent this you need to add:\n#lifecycle {\n# ignore_changes = [ local_file_path ]\n# }\nimport {\n to = stackit_image.import-example\n id = \"${var.project_id},${var.region},${var.image_id}\"\n}\n```\n", + "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource 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\n# the instance resource only exists here to illustrate the usage of it's attribute\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = \"example\"\n plan_id = var.plan_id\n description = \"some_description\"\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_name\" {\n project_id = var.project_id\n instance_name = stackit_edgecloud_instance.this.display_name\n expiration = 3600 # seconds\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_id\" {\n project_id = var.project_id\n instance_id = stackit_edgecloud_instance.this.instance_id\n expiration = 3600 # seconds\n}\n```\n", "properties": { - "checksum": { - "$ref": "#/types/stackit:index/ImageChecksum:ImageChecksum", - "description": "Representation of an image checksum.\n" + "creationTime": { + "type": "string", + "description": "Date-time when the kubeconfig was created\n" }, - "config": { - "$ref": "#/types/stackit:index/ImageConfig:ImageConfig", - "description": "Properties to set hardware and scheduling settings for an image.\n" + "expiration": { + "type": "integer", + "description": "Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" }, - "diskFormat": { + "expiresAt": { "type": "string", - "description": "The disk format of the image.\n" + "description": "Timestamp when the kubeconfig expires\n" }, - "imageId": { + "instanceId": { "type": "string", - "description": "The image ID.\n" - }, - "labels": { - "type": "object", - "additionalProperties": { - "type": "string" - }, - "description": "Labels are key-value string pairs which can be attached to a resource container\n" + "description": "ID of the Edge Cloud instance.\n" }, - "localFilePath": { + "instanceName": { "type": "string", - "description": "The filepath of the raw image file to be uploaded.\n" + "description": "Name of the Edge Cloud instance.\n" }, - "minDiskSize": { - "type": "integer", - "description": "The minimum disk size of the image in GB.\n" - }, - "minRam": { - "type": "integer", - "description": "The minimum RAM of the image in MB.\n" - }, - "name": { + "kubeconfig": { "type": "string", - "description": "The name of the image.\n" + "description": "Raw kubeconfig.\n", + "secret": true + }, + "kubeconfigId": { + "type": "string" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the image is associated.\n" + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" }, - "protected": { - "type": "boolean", - "description": "Whether the image is protected.\n" + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the kubeconfig at.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" - }, - "scope": { - "type": "string", - "description": "The scope of the image.\n" } }, "required": [ - "checksum", - "config", - "diskFormat", - "imageId", - "localFilePath", - "minDiskSize", - "minRam", - "name", - "projectId", - "protected", + "creationTime", + "expiration", + "expiresAt", + "kubeconfig", + "kubeconfigId", + "projectId", + "region" + ], + "inputProperties": { + "expiration": { + "type": "integer", + "description": "Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the kubeconfig at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EdgecloudKubeconfig resources.\n", + "properties": { + "creationTime": { + "type": "string", + "description": "Date-time when the kubeconfig was created\n" + }, + "expiration": { + "type": "integer", + "description": "Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "expiresAt": { + "type": "string", + "description": "Timestamp when the kubeconfig expires\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "kubeconfig": { + "type": "string", + "description": "Raw kubeconfig.\n", + "secret": true + }, + "kubeconfigId": { + "type": "string" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the kubeconfig at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object" + } + }, + "stackit:index/edgecloudToken:EdgecloudToken": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource 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\n# the instance resource only exists here to illustrate the usage of it's attribute\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = \"example\"\n plan_id = var.plan_id\n description = \"some_description\"\n}\n\nresource \"stackit_edgecloud_token\" \"by_name\" {\n project_id = var.project_id\n instance_name = stackit_edgecloud_instance.this.display_name\n expiration = 3600 # seconds\n}\n\nresource \"stackit_edgecloud_token\" \"by_id\" {\n project_id = var.project_id\n instance_id = stackit_edgecloud_instance.this.instance_id\n expiration = 3600 # seconds\n}\n```\n", + "properties": { + "creationTime": { + "type": "string", + "description": "Date-time when the token was created\n" + }, + "expiration": { + "type": "integer", + "description": "Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "expiresAt": { + "type": "string", + "description": "Timestamp when the token expires\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the token at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "token": { + "type": "string", + "description": "Raw token.\n", + "secret": true + }, + "tokenId": { + "type": "string" + } + }, + "required": [ + "creationTime", + "expiration", + "expiresAt", + "projectId", + "region", + "token", + "tokenId" + ], + "inputProperties": { + "expiration": { + "type": "integer", + "description": "Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the token at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EdgecloudToken resources.\n", + "properties": { + "creationTime": { + "type": "string", + "description": "Date-time when the token was created\n" + }, + "expiration": { + "type": "integer", + "description": "Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "expiresAt": { + "type": "string", + "description": "Timestamp when the token expires\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the token at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "token": { + "type": "string", + "description": "Raw token.\n", + "secret": true + }, + "tokenId": { + "type": "string" + } + }, + "type": "object" + } + }, + "stackit:index/git:Git": { + "description": "Git Instance resource schema.\n\n\u003e This resource 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. This resource currently does not support updates. Changing the ACLs, flavor, or name will trigger resource recreation. Update functionality will be added soon. In the meantime, please proceed with caution. To update these attributes, please open a support ticket.\n\n## Example Usage\n\n```terraform\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n}\n\nresource \"stackit_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"git-example-instance\"\n acl = [\n \"0.0.0.0/0\"\n ]\n flavor = \"git-100\"\n}\n\n# Only use the import statement, if you want to import an existing git resource\nimport {\n to = stackit_git.import-example\n id = \"${var.project_id},${var.git_instance_id}\"\n}\n```\n", + "properties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricted ACL for instance access.\n" + }, + "consumedDisk": { + "type": "string", + "description": "How many bytes of disk space is consumed.\n" + }, + "consumedObjectStorage": { + "type": "string", + "description": "How many bytes of Object Storage is consumed.\n" + }, + "created": { + "type": "string", + "description": "Instance creation timestamp in RFC3339 format.\n" + }, + "flavor": { + "type": "string", + "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + }, + "instanceId": { + "type": "string", + "description": "ID linked to the git instance.\n" + }, + "name": { + "type": "string", + "description": "Unique name linked to the git instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the git instance is associated.\n" + }, + "url": { + "type": "string", + "description": "Url linked to the git instance.\n" + }, + "version": { + "type": "string", + "description": "Version linked to the git instance.\n" + } + }, + "required": [ + "acls", + "consumedDisk", + "consumedObjectStorage", + "created", + "flavor", + "instanceId", + "name", + "projectId", + "url", + "version" + ], + "inputProperties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricted ACL for instance access.\n" + }, + "flavor": { + "type": "string", + "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + }, + "name": { + "type": "string", + "description": "Unique name linked to the git instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the git instance is associated.\n" + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Git resources.\n", + "properties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Restricted ACL for instance access.\n" + }, + "consumedDisk": { + "type": "string", + "description": "How many bytes of disk space is consumed.\n" + }, + "consumedObjectStorage": { + "type": "string", + "description": "How many bytes of Object Storage is consumed.\n" + }, + "created": { + "type": "string", + "description": "Instance creation timestamp in RFC3339 format.\n" + }, + "flavor": { + "type": "string", + "description": "Instance flavor. If not provided, defaults to git-100. For a list of available flavors, refer to our API documentation: `https://docs.api.stackit.cloud/documentation/git/version/v1beta`\n" + }, + "instanceId": { + "type": "string", + "description": "ID linked to the git instance.\n" + }, + "name": { + "type": "string", + "description": "Unique name linked to the git instance.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the git instance is associated.\n" + }, + "url": { + "type": "string", + "description": "Url linked to the git instance.\n" + }, + "version": { + "type": "string", + "description": "Version linked to the git instance.\n" + } + }, + "type": "object" + } + }, + "stackit:index/image:Image": { + "description": "Image 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## Example Usage\n\n```terraform\nresource \"stackit_image\" \"example_image\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-image\"\n disk_format = \"qcow2\"\n local_file_path = \"./path/to/image.qcow2\"\n min_disk_size = 10\n min_ram = 5\n}\n\n# Only use the import statement, if you want to import an existing image\n# Must set a configuration value for the local_file_path attribute as the provider has marked it as required.\n# Since this attribute is not fetched in general from the API call, after adding it this would replace your image resource after an pulumi up.\n# In order to prevent this you need to add:\n#lifecycle {\n# ignore_changes = [ local_file_path ]\n# }\nimport {\n to = stackit_image.import-example\n id = \"${var.project_id},${var.region},${var.image_id}\"\n}\n```\n", + "properties": { + "checksum": { + "$ref": "#/types/stackit:index/ImageChecksum:ImageChecksum", + "description": "Representation of an image checksum.\n" + }, + "config": { + "$ref": "#/types/stackit:index/ImageConfig:ImageConfig", + "description": "Properties to set hardware and scheduling settings for an image.\n" + }, + "diskFormat": { + "type": "string", + "description": "The disk format of the image.\n" + }, + "imageId": { + "type": "string", + "description": "The image ID.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource container\n" + }, + "localFilePath": { + "type": "string", + "description": "The filepath of the raw image file to be uploaded.\n" + }, + "minDiskSize": { + "type": "integer", + "description": "The minimum disk size of the image in GB.\n" + }, + "minRam": { + "type": "integer", + "description": "The minimum RAM of the image in MB.\n" + }, + "name": { + "type": "string", + "description": "The name of the image.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the image is associated.\n" + }, + "protected": { + "type": "boolean", + "description": "Whether the image is protected.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "scope": { + "type": "string", + "description": "The scope of the image.\n" + } + }, + "required": [ + "checksum", + "config", + "diskFormat", + "imageId", + "localFilePath", + "minDiskSize", + "minRam", + "name", + "projectId", + "protected", "region", "scope" ], @@ -7878,95 +8411,272 @@ "type": "string", "description": "STACKIT project ID to which the instance is associated.\n" }, - "version": { + "version": { + "type": "string", + "description": "The service version.\n" + } + }, + "required": [ + "cfGuid", + "cfOrganizationGuid", + "cfSpaceGuid", + "dashboardUrl", + "imageUrl", + "instanceId", + "name", + "parameters", + "planId", + "planName", + "projectId", + "version" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "parameters": { + "$ref": "#/types/stackit:index/LogmeInstanceParameters:LogmeInstanceParameters" + }, + "planName": { + "type": "string", + "description": "The selected plan name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the instance is associated.\n" + }, + "version": { + "type": "string", + "description": "The service version.\n" + } + }, + "requiredInputs": [ + "planName", + "projectId", + "version" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering LogmeInstance resources.\n", + "properties": { + "cfGuid": { + "type": "string" + }, + "cfOrganizationGuid": { + "type": "string" + }, + "cfSpaceGuid": { + "type": "string" + }, + "dashboardUrl": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "instanceId": { + "type": "string", + "description": "ID of the LogMe instance.\n" + }, + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "parameters": { + "$ref": "#/types/stackit:index/LogmeInstanceParameters:LogmeInstanceParameters" + }, + "planId": { + "type": "string", + "description": "The selected plan ID.\n" + }, + "planName": { + "type": "string", + "description": "The selected plan name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the instance is associated.\n" + }, + "version": { + "type": "string", + "description": "The service version.\n" + } + }, + "type": "object" + } + }, + "stackit:index/logsInstance:LogsInstance": { + "description": "Logs instance resource schema.\n\n\u003e This resource 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\nresource \"stackit_logs_instance\" \"logs\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-instance-example\"\n retention_days = 30\n}\n\nresource \"stackit_logs_instance\" \"logs2\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-instance-example\"\n retention_days = 30\n acl = [\n \"0.0.0.0/0\"\n ]\n description = \"Example description\"\n}\n\n# Only use the import statement, if you want to import an existing logs instance\nimport {\n to = stackit_logs_instance.import-example\n id = \"${var.project_id},${var.region},${var.logs_instance_id}\"\n}\n```\n", + "properties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The access control list entries for the Logs instance\n" + }, + "created": { + "type": "string", + "description": "The date and time the creation of the Logs instance was initiated\n" + }, + "datasourceUrl": { + "type": "string", + "description": "Logs instance datasource URL, can be used in Grafana as datasource URL\n" + }, + "description": { + "type": "string", + "description": "The description of the Logs instance\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Logs instance\n" + }, + "ingestOtlpUrl": { + "type": "string", + "description": "The Logs instance's ingest logs via OTLP URL\n" + }, + "ingestUrl": { + "type": "string", + "description": "The logs instance's ingest logs URL\n" + }, + "instanceId": { + "type": "string", + "description": "The Logs instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the Logs instance\n" + }, + "queryRangeUrl": { + "type": "string", + "description": "The Logs instance's query range URL\n" + }, + "queryUrl": { + "type": "string", + "description": "The Logs instance's query URL\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "retentionDays": { + "type": "integer", + "description": "The log retention time in days\n" + }, + "status": { "type": "string", - "description": "The service version.\n" + "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" } }, "required": [ - "cfGuid", - "cfOrganizationGuid", - "cfSpaceGuid", - "dashboardUrl", - "imageUrl", + "created", + "datasourceUrl", + "displayName", + "ingestOtlpUrl", + "ingestUrl", "instanceId", - "name", - "parameters", - "planId", - "planName", "projectId", - "version" + "queryRangeUrl", + "queryUrl", + "region", + "retentionDays", + "status" ], "inputProperties": { - "name": { - "type": "string", - "description": "Instance name.\n" + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The access control list entries for the Logs instance\n" }, - "parameters": { - "$ref": "#/types/stackit:index/LogmeInstanceParameters:LogmeInstanceParameters" + "description": { + "type": "string", + "description": "The description of the Logs instance\n" }, - "planName": { + "displayName": { "type": "string", - "description": "The selected plan name.\n" + "description": "The displayed name of the Logs instance\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID associated with the Logs instance\n" }, - "version": { + "region": { "type": "string", - "description": "The service version.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "retentionDays": { + "type": "integer", + "description": "The log retention time in days\n" } }, "requiredInputs": [ - "planName", + "displayName", "projectId", - "version" + "retentionDays" ], "stateInputs": { - "description": "Input properties used for looking up and filtering LogmeInstance resources.\n", + "description": "Input properties used for looking up and filtering LogsInstance resources.\n", "properties": { - "cfGuid": { - "type": "string" + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The access control list entries for the Logs instance\n" }, - "cfOrganizationGuid": { - "type": "string" + "created": { + "type": "string", + "description": "The date and time the creation of the Logs instance was initiated\n" }, - "cfSpaceGuid": { - "type": "string" + "datasourceUrl": { + "type": "string", + "description": "Logs instance datasource URL, can be used in Grafana as datasource URL\n" }, - "dashboardUrl": { - "type": "string" + "description": { + "type": "string", + "description": "The description of the Logs instance\n" }, - "imageUrl": { - "type": "string" + "displayName": { + "type": "string", + "description": "The displayed name of the Logs instance\n" }, - "instanceId": { + "ingestOtlpUrl": { "type": "string", - "description": "ID of the LogMe instance.\n" + "description": "The Logs instance's ingest logs via OTLP URL\n" }, - "name": { + "ingestUrl": { "type": "string", - "description": "Instance name.\n" + "description": "The logs instance's ingest logs URL\n" }, - "parameters": { - "$ref": "#/types/stackit:index/LogmeInstanceParameters:LogmeInstanceParameters" + "instanceId": { + "type": "string", + "description": "The Logs instance ID\n" }, - "planId": { + "projectId": { "type": "string", - "description": "The selected plan ID.\n" + "description": "STACKIT project ID associated with the Logs instance\n" }, - "planName": { + "queryRangeUrl": { "type": "string", - "description": "The selected plan name.\n" + "description": "The Logs instance's query range URL\n" }, - "projectId": { + "queryUrl": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "The Logs instance's query URL\n" }, - "version": { + "region": { "type": "string", - "description": "The service version.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "retentionDays": { + "type": "integer", + "description": "The log retention time in days\n" + }, + "status": { + "type": "string", + "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" } }, "type": "object" @@ -9002,7 +9712,6 @@ } }, "stackit:index/networkArea:NetworkArea": { - "description": "Network area resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing network area\nimport {\n to = stackit_network_area.import-example\n id = \"${var.organization_id},${var.network_area_id}\"\n}\n```\n", "properties": { "defaultNameservers": { "type": "array", @@ -11117,7 +11826,7 @@ "items": { "type": "string" }, - "description": "Database access levels for the user. Possible values are: \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdb`\" pulumi-lang-dotnet=\"`Createdb`\" pulumi-lang-go=\"`createdb`\" pulumi-lang-python=\"`createdb`\" pulumi-lang-yaml=\"`createdb`\" pulumi-lang-java=\"`createdb`\"\u003e`createdb`\u003c/span\u003e.\n" + "description": "Database access levels for the user.\n" }, "uri": { "type": "string", @@ -11161,7 +11870,7 @@ "items": { "type": "string" }, - "description": "Database access levels for the user. Possible values are: \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdb`\" pulumi-lang-dotnet=\"`Createdb`\" pulumi-lang-go=\"`createdb`\" pulumi-lang-python=\"`createdb`\" pulumi-lang-yaml=\"`createdb`\" pulumi-lang-java=\"`createdb`\"\u003e`createdb`\u003c/span\u003e.\n" + "description": "Database access levels for the user.\n" }, "username": { "type": "string" @@ -11203,7 +11912,7 @@ "items": { "type": "string" }, - "description": "Database access levels for the user. Possible values are: \u003cspan pulumi-lang-nodejs=\"`login`\" pulumi-lang-dotnet=\"`Login`\" pulumi-lang-go=\"`login`\" pulumi-lang-python=\"`login`\" pulumi-lang-yaml=\"`login`\" pulumi-lang-java=\"`login`\"\u003e`login`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`createdb`\" pulumi-lang-dotnet=\"`Createdb`\" pulumi-lang-go=\"`createdb`\" pulumi-lang-python=\"`createdb`\" pulumi-lang-yaml=\"`createdb`\" pulumi-lang-java=\"`createdb`\"\u003e`createdb`\u003c/span\u003e.\n" + "description": "Database access levels for the user.\n" }, "uri": { "type": "string", @@ -12166,6 +12875,10 @@ "type": "string", "description": "Description of the routing table.\n" }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -12205,6 +12918,7 @@ "required": [ "createdAt", "description", + "dynamicRoutes", "name", "networkAreaId", "organizationId", @@ -12218,6 +12932,10 @@ "type": "string", "description": "Description of the routing table.\n" }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -12261,6 +12979,10 @@ "type": "string", "description": "Description of the routing table.\n" }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -15077,7 +15799,7 @@ } }, "stackit:index/volume:Volume": { - "description": "Volume 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## Example Usage\n\n```terraform\nresource \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_volume\"\n availability_zone = \"eu01-1\"\n size = 64\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing volume\nimport {\n to = stackit_volume.import-example\n id = \"${var.project_id},${var.region},${var.volume_id}\"\n}\n```\n", + "description": "## Example Usage\n\n```terraform\nresource \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_volume\"\n availability_zone = \"eu01-1\"\n size = 64\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing volume\nimport {\n to = stackit_volume.import-example\n id = \"${var.project_id},${var.region},${var.volume_id}\"\n}\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -15087,6 +15809,13 @@ "type": "string", "description": "The description of the volume.\n" }, + "encrypted": { + "type": "boolean", + "description": "Indicates if the volume is encrypted.\n" + }, + "encryptionParameters": { + "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters" + }, "labels": { "type": "object", "additionalProperties": { @@ -15130,6 +15859,7 @@ "required": [ "availabilityZone", "description", + "encrypted", "name", "performanceClass", "projectId", @@ -15147,6 +15877,9 @@ "type": "string", "description": "The description of the volume.\n" }, + "encryptionParameters": { + "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters" + }, "labels": { "type": "object", "additionalProperties": { @@ -15194,6 +15927,13 @@ "type": "string", "description": "The description of the volume.\n" }, + "encrypted": { + "type": "boolean", + "description": "Indicates if the volume is encrypted.\n" + }, + "encryptionParameters": { + "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters" + }, "labels": { "type": "object", "additionalProperties": { @@ -15730,6 +16470,96 @@ ] } }, + "stackit:index/getEdgecloudInstances:getEdgecloudInstances": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\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\n# returns all Edge Cloud instances created in the given project which are inside the provider default_region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n}\n\n# returns all Edge Cloud instances created in the given project in the given region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n region = var.region\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getEdgecloudInstances.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getEdgecloudInstances.\n", + "properties": { + "id": { + "type": "string" + }, + "instances": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance" + }, + "description": "A list of Edge Cloud instances.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instances are associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "id", + "instances", + "projectId" + ] + } + }, + "stackit:index/getEdgecloudPlans:getEdgecloudPlans": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\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_edgecloud_plans\" \"this\" {\n project_id = var.project_id\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getEdgecloudPlans.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID the Plans belongs to.\n" + } + }, + "type": "object", + "required": [ + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getEdgecloudPlans.\n", + "properties": { + "id": { + "type": "string" + }, + "plans": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan" + }, + "description": "A list of Edge Cloud Plans.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID the Plans belongs to.\n" + } + }, + "type": "object", + "required": [ + "id", + "plans", + "projectId" + ] + } + }, "stackit:index/getGit:getGit": { "description": "Git Instance datasource 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_git\" \"git\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { @@ -16687,6 +17517,115 @@ ] } }, + "stackit:index/getLogsInstance:getLogsInstance": { + "description": "Logs instance 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_logs_instance\" \"logs\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getLogsInstance.\n", + "properties": { + "instanceId": { + "type": "string", + "description": "The Logs instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the Logs instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getLogsInstance.\n", + "properties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The access control list entries for the Logs instance\n" + }, + "created": { + "type": "string", + "description": "The date and time the creation of the Logs instance was initiated\n" + }, + "datasourceUrl": { + "type": "string", + "description": "Logs instance datasource URL, can be used in Grafana as datasource URL\n" + }, + "description": { + "type": "string", + "description": "The description of the Logs instance\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Logs instance\n" + }, + "id": { + "type": "string" + }, + "ingestOtlpUrl": { + "type": "string", + "description": "The Logs instance's ingest logs via OTLP URL\n" + }, + "ingestUrl": { + "type": "string", + "description": "The logs instance's ingest logs URL\n" + }, + "instanceId": { + "type": "string", + "description": "The Logs instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the Logs instance\n" + }, + "queryRangeUrl": { + "type": "string", + "description": "The Logs instance's query range URL\n" + }, + "queryUrl": { + "type": "string", + "description": "The Logs instance's query URL\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "retentionDays": { + "type": "integer", + "description": "The log retention time in days\n" + }, + "status": { + "type": "string", + "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" + } + }, + "type": "object", + "required": [ + "acls", + "created", + "datasourceUrl", + "description", + "displayName", + "id", + "ingestOtlpUrl", + "ingestUrl", + "instanceId", + "projectId", + "queryRangeUrl", + "queryUrl", + "retentionDays", + "status" + ] + } + }, "stackit:index/getMachineType:getMachineType": { "description": "Machine type data source.\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_machine_type\" \"two_vcpus_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus==2\"\n}\n\ndata \"stackit_machine_type\" \"filter_sorted_ascending_false\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus \u003e= 2 \u0026\u0026 ram \u003e= 2048\"\n sort_ascending = false\n}\n\ndata \"stackit_machine_type\" \"intel_icelake_generic_filter\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"extraSpecs.cpu==\\\"intel-icelake-generic\\\" \u0026\u0026 vcpus == 2\"\n}\n\n# returns warning\ndata \"stackit_machine_type\" \"no_match\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n filter = \"vcpus == 99\"\n}\n```\n", "inputs": { @@ -19274,6 +20213,10 @@ "type": "string", "description": "Description of the routing table.\n" }, + "dynamicRoutes": { + "type": "boolean", + "description": "This controls whether dynamic routes are propagated to this routing table\n" + }, "id": { "type": "string" }, @@ -19318,6 +20261,7 @@ "createdAt", "default", "description", + "dynamicRoutes", "id", "labels", "name", @@ -21152,6 +22096,10 @@ "type": "string", "description": "The description of the volume.\n" }, + "encrypted": { + "type": "boolean", + "description": "Indicates if the volume is encrypted.\n" + }, "id": { "type": "string" }, @@ -21199,6 +22147,7 @@ "required": [ "availabilityZone", "description", + "encrypted", "id", "labels", "name", diff --git a/provider/go.mod b/provider/go.mod index 45e7702..f2cf005 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -153,35 +153,36 @@ require ( github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/stackitcloud/stackit-sdk-go/core v0.20.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 // 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/git v0.10.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.21-alpha // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0 // 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.2.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.13.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.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/serverbackup v1.3.5 // 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.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3 // indirect - github.com/stackitcloud/terraform-provider-stackit v0.76.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.79.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 @@ -203,17 +204,17 @@ require ( go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect go.uber.org/atomic v1.9.0 // indirect - golang.org/x/crypto v0.46.0 // indirect + golang.org/x/crypto v0.47.0 // indirect golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/net v0.48.0 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/net v0.49.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect golang.org/x/sync v0.19.0 // indirect - golang.org/x/sys v0.39.0 // indirect - golang.org/x/term v0.38.0 // indirect - golang.org/x/text v0.32.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/term v0.39.0 // indirect + golang.org/x/text v0.33.0 // indirect golang.org/x/time v0.12.0 // indirect - golang.org/x/tools v0.40.0 // indirect + golang.org/x/tools v0.41.0 // indirect google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240311173647-c811ad7063a7 // indirect diff --git a/provider/go.sum b/provider/go.sum index 79a1938..533fc14 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1342,64 +1342,66 @@ github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.2 h1:y0sicyp0hoFbIa6dK github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.2/go.mod h1:gZNU2F3aoul0a08FpWJm9Uhy94dL7oPiMJznePBr0Kc= github.com/stackitcloud/stackit-sdk-go/core v0.20.1 h1:odiuhhRXmxvEvnVTeZSN9u98edvw2Cd3DcnkepncP3M= github.com/stackitcloud/stackit-sdk-go/core v0.20.1/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0 h1:7ZKd3b+E/R4TEVShLTXxx5FrsuDuJBOyuVOuKTMa4mo= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0/go.mod h1:/FoXa6hF77Gv8brrvLBCKa5ie1Xy9xn39yfHwaln9Tw= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0 h1:Q+qIdejeMsYMkbtVoI9BpGlKGdSVFRBhH/zj44SP8TM= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0/go.mod h1:YGadfhuy8yoseczTxF7vN4t9ES2WxGQr0Pug14ii7y4= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 h1:CnhAMLql0MNmAeq4roQKN8OpSKX4FSgTU6Eu6detB4I= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1/go.mod h1:7Bx85knfNSBxulPdJUFuBePXNee3cO+sOTYnUG6M+iQ= -github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0 h1:/weT7P5Uwy1Qlhw0NidqtQBlbbb/dQehweDV/I9ShXg= -github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0/go.mod h1:AXFfYBJZIW1o0W0zZEb/proQMhMsb3Nn5E1htS8NDPE= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 h1:4YFY5PG4vP/NiEP1uxCwh+kQHEU7iHG6syuFD7NPqcw= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0/go.mod h1:v4xdRA5P8Vr+zLdHh+ODgspN0WJG04wLImIJoYjrPK4= +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/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/iaasalpha v0.1.21-alpha h1:m1jq6a8dbUe+suFuUNdHmM/cSehpGLUtDbK1CqLqydg= -github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.21-alpha/go.mod h1:Nu1b5Phsv8plgZ51+fkxPVsU91ZJ5Ayz+cthilxdmQ8= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0 h1:zxoOv7Fu+FmdsvTKiKkbmLItrMKfL+QoVtz9ReEF30E= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0/go.mod h1:KEPVoO21pC4bjy5l0nyhjUJ0+uVwVWb+k2TYrzJ8xYw= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0 h1:q33ZaCBVEBUsnMDxYyuJKtJvGcE5nKgvuPed3s8zXNI= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0/go.mod h1:20QOZ3rBC9wTGgzXzLz9M6YheX0VaxWE0/JI+s8On7k= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1 h1:hv5WrRU9rN6Jx4OwdOGJRyaQrfA9p1tzEoQK6/CDyoA= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1/go.mod h1:ivt8lvnAoBZsde2jSAuicyn6RgTmHvvNAJ3whaUbAD4= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1 h1:Db/ebOL2vbpIeh5XB2Ews2B9Lj5DJlMWIEJh60FfZ4Y= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1/go.mod h1:8jdN4v2euK3f9gfdzbRi8e4nBJ8g/Q5YF9aPB4M4fCQ= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0 h1:JZI+3sLVAtTFk4QJ/ao2bAumzBq+iV6dUvDoIrOKTcw= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0/go.mod h1:DvNLTENxoJEQ8AwUvcVBoWqVtdZNS4vEJppTKfvfeec= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2 h1:BQ+qAkVS/aGHepE/+gVsvSg1sRkPOyIUI/jkCyUOrWg= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2/go.mod h1:oc8Mpwl7O6EZwG0YxfhOzNCJwNQBWK5rFh764OtxoMY= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0 h1:g3yNDUc3JydAikezUrI9bQ4nuMJpVeAQ35jOFfFmq1U= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0/go.mod h1:foslkEiICdtHR3v0A/i/Rgo6EP9MMula9XNC9luNOgw= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0 h1:MA5i1ScjXLWe5CYeFCLHeZzNS1AH4mbx1kUyiVbxKjI= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0/go.mod h1:tJEOi6L0le4yQZPGwalup/PZ13gqs1aCQDqlUs2cYW0= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1 h1:50n87uZn0EvSP9hJGLqd3Wm2hfqbyh7BMGGCk7axgqA= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1/go.mod h1:jfguuSPa56Z5Bzs/Xg/CI37XzPo5Zn5lzC5LhfuT8Qc= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1 h1:K8vXele3U6b5urcSIpq21EkVblWfPDY3eMPSuQ48TkI= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1/go.mod h1:hyhw+I19NtjKmRLcUkY4boaTxnYSPFGbpn4RxvGqH2s= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 h1:ALrDCBih8Fu8e6530KdOjuH0iMxOLntO381BbKFlTFY= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1/go.mod h1:+qGWSehoV0Js3FalgvT/bOgPj+UqW4I7lP5s8uAxP+o= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1 h1:8uPt82Ez34OYMOijjEYxB1zUW6kiybkt6veQKl0AL68= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1/go.mod h1:1Y2GEICmZDt+kr8aGnBx/sjYVAIYHmtfC8xYi9oxNEE= +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/loadbalancer v1.7.0 h1:ZyaB4jL71p+FWI/cXgP+p6t4iw1oAeGbLLOz4cs3dmI= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0/go.mod h1:dYmNdSNDKUG+E0SwuFWu+c8CuMBF/l6w1bdzAHxQao0= +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.2.1 h1:OdofRB6uj6lwN/TXLVHVrEOwNMG34MlFNwkiHD+eOts= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.2.1/go.mod h1:5p7Xi8jadpJNDYr0t+07DXS104/RJLfhhA1r6P7PlGs= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.13.1 h1:WKFzlHllql3JsVcAq+Y1m5pSMkvwp1qH3Vf2N7i8CPg= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.13.1/go.mod h1:WGMFtGugBmUxI+nibI7eUZIQk4AGlDvwqX+m17W1y5w= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2 h1:tfKC4Z6Uah9AQZrtCn/ytqOgc//ChQRfJ6ozxovgads= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2/go.mod h1:wV7/BUV3BCLq5+E1bHXrKKt/eOPVdWgLArWLAq7rZ/U= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1 h1:hcHX2n5pUsOcv2PPPbSJph1fQ/I6P7g7781T1f1ycEI= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1/go.mod h1:jZwTg3wU4/UxgNJ7TKlFZ3dTIlnfvppnW8kJTc4UXy8= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 h1:crKlHl7QVF97A8CTBK3PBtVpO9c/7qwFvRJi5UN/F7Y= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1/go.mod h1:QCrAW/Rmf+styT25ke8cUV6hDHpdKNmAY14kkJ3+Fd8= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.2 h1:s2iag/Gc4tuQH7x5I0n4mQWVhpfl/cj+SVNAFAB5ck0= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.2/go.mod h1:DFEamKVoOjm/rjMwzfZK0Zg/hwsSkXOibdA4HcC6swk= +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/serverbackup v1.3.5 h1:pAoqz4K17ZWcLusu7Dxkx3HGQAIYCk7SmZeAu9HHUrQ= +github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5/go.mod h1:MBlzqmewliF1LKeOBdOuT+aQrtc3y7p1Kd1fWkjecKQ= +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.4.0 h1:V6RFvybDeJvvmT3g7/BZodF0gozz3TEpahbpiTftbeY= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.4.0/go.mod h1:xRBgpJ8P5Nf1T5tD0tGAeNg1FNQzx5VF7qqOXt2Fp3s= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3 h1:TFefEGGxvcI7euqyosbLS/zSEOy+3JMGOirW3vNj/84= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3/go.mod h1:Jsry+gfhuXv2P0ldfa48BaL605NhDjdQMgaoV8czlbo= -github.com/stackitcloud/terraform-provider-stackit v0.76.0 h1:OK7+lUa3kDv2ay+COpe6Z92ntFfwcOJP00CEVivMk2o= -github.com/stackitcloud/terraform-provider-stackit v0.76.0/go.mod h1:ad/BdSuh6wdYcPWWk0kaeGkqNHJij9VLfH7gn/ZsVE4= +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/sqlserverflex v1.4.0 h1:KgIRTw4gpxx8qoiaLGLbXPVDcBgCxPl60gigw+tizYc= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0/go.mod h1:fd13ANCU/Pye8uDd/6E0I605+6PYfHuVIQpPEK2Ph6c= +github.com/stackitcloud/terraform-provider-stackit v0.79.0 h1:h2hn+M6ARQR3GRHz3S2YatV2foknbuf3BAtybJ8/a58= +github.com/stackitcloud/terraform-provider-stackit v0.79.0/go.mod h1:cn501lAiwMFdVic3FfLzHyORFndwioloi8BeWNrWYYw= 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= @@ -1522,8 +1524,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= -golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1586,8 +1588,8 @@ golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1654,8 +1656,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1804,8 +1806,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1820,8 +1822,8 @@ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= -golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= +golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY= +golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1842,8 +1844,8 @@ golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1918,8 +1920,8 @@ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.7.0/go.mod h1:4pg6aUX35JBAogB10C9AtvVL+qowtN4pT3CGSQex14s= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= -golang.org/x/tools v0.40.0/go.mod h1:Ik/tzLRlbscWpqqMRjyWYDisX8bG13FrdXp3o4Sr9lc= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index 3ed2b3b..02a527e 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,12 +4,13 @@ go 1.24.0 toolchain go1.24.2 -require github.com/stackitcloud/terraform-provider-stackit v0.76.0 +require github.com/stackitcloud/terraform-provider-stackit v0.79.0 require ( - github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.21-alpha // indirect - github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/scf v0.2.1 // indirect + 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 ) @@ -28,33 +29,33 @@ require ( 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.20.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 // 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/git v0.10.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1 // indirect + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0 // 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.13.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 // indirect - github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.4.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3 // indirect + github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5 // 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/sqlserverflex v1.4.0 // indirect github.com/teambition/rrule-go v1.8.2 // indirect github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - golang.org/x/mod v0.31.0 // indirect - golang.org/x/sys v0.39.0 // indirect + golang.org/x/mod v0.32.0 // indirect + golang.org/x/sys v0.40.0 // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 971de06..d226f76 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -84,64 +84,66 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/stackitcloud/stackit-sdk-go/core v0.20.1 h1:odiuhhRXmxvEvnVTeZSN9u98edvw2Cd3DcnkepncP3M= github.com/stackitcloud/stackit-sdk-go/core v0.20.1/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0 h1:7ZKd3b+E/R4TEVShLTXxx5FrsuDuJBOyuVOuKTMa4mo= -github.com/stackitcloud/stackit-sdk-go/services/authorization v0.9.0/go.mod h1:/FoXa6hF77Gv8brrvLBCKa5ie1Xy9xn39yfHwaln9Tw= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0 h1:Q+qIdejeMsYMkbtVoI9BpGlKGdSVFRBhH/zj44SP8TM= -github.com/stackitcloud/stackit-sdk-go/services/cdn v1.6.0/go.mod h1:YGadfhuy8yoseczTxF7vN4t9ES2WxGQr0Pug14ii7y4= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 h1:CnhAMLql0MNmAeq4roQKN8OpSKX4FSgTU6Eu6detB4I= -github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1/go.mod h1:7Bx85knfNSBxulPdJUFuBePXNee3cO+sOTYnUG6M+iQ= -github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0 h1:/weT7P5Uwy1Qlhw0NidqtQBlbbb/dQehweDV/I9ShXg= -github.com/stackitcloud/stackit-sdk-go/services/git v0.8.0/go.mod h1:AXFfYBJZIW1o0W0zZEb/proQMhMsb3Nn5E1htS8NDPE= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 h1:4YFY5PG4vP/NiEP1uxCwh+kQHEU7iHG6syuFD7NPqcw= +github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0/go.mod h1:v4xdRA5P8Vr+zLdHh+ODgspN0WJG04wLImIJoYjrPK4= +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/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/iaasalpha v0.1.21-alpha h1:m1jq6a8dbUe+suFuUNdHmM/cSehpGLUtDbK1CqLqydg= -github.com/stackitcloud/stackit-sdk-go/services/iaasalpha v0.1.21-alpha/go.mod h1:Nu1b5Phsv8plgZ51+fkxPVsU91ZJ5Ayz+cthilxdmQ8= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0 h1:zxoOv7Fu+FmdsvTKiKkbmLItrMKfL+QoVtz9ReEF30E= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.0.0/go.mod h1:KEPVoO21pC4bjy5l0nyhjUJ0+uVwVWb+k2TYrzJ8xYw= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0 h1:q33ZaCBVEBUsnMDxYyuJKtJvGcE5nKgvuPed3s8zXNI= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.0/go.mod h1:20QOZ3rBC9wTGgzXzLz9M6YheX0VaxWE0/JI+s8On7k= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1 h1:hv5WrRU9rN6Jx4OwdOGJRyaQrfA9p1tzEoQK6/CDyoA= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.1/go.mod h1:ivt8lvnAoBZsde2jSAuicyn6RgTmHvvNAJ3whaUbAD4= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1 h1:Db/ebOL2vbpIeh5XB2Ews2B9Lj5DJlMWIEJh60FfZ4Y= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.1/go.mod h1:8jdN4v2euK3f9gfdzbRi8e4nBJ8g/Q5YF9aPB4M4fCQ= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0 h1:JZI+3sLVAtTFk4QJ/ao2bAumzBq+iV6dUvDoIrOKTcw= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.6.0/go.mod h1:DvNLTENxoJEQ8AwUvcVBoWqVtdZNS4vEJppTKfvfeec= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2 h1:BQ+qAkVS/aGHepE/+gVsvSg1sRkPOyIUI/jkCyUOrWg= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.5.2/go.mod h1:oc8Mpwl7O6EZwG0YxfhOzNCJwNQBWK5rFh764OtxoMY= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0 h1:g3yNDUc3JydAikezUrI9bQ4nuMJpVeAQ35jOFfFmq1U= -github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.0/go.mod h1:foslkEiICdtHR3v0A/i/Rgo6EP9MMula9XNC9luNOgw= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0 h1:MA5i1ScjXLWe5CYeFCLHeZzNS1AH4mbx1kUyiVbxKjI= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.15.0/go.mod h1:tJEOi6L0le4yQZPGwalup/PZ13gqs1aCQDqlUs2cYW0= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1 h1:50n87uZn0EvSP9hJGLqd3Wm2hfqbyh7BMGGCk7axgqA= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.24.1/go.mod h1:jfguuSPa56Z5Bzs/Xg/CI37XzPo5Zn5lzC5LhfuT8Qc= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1 h1:K8vXele3U6b5urcSIpq21EkVblWfPDY3eMPSuQ48TkI= -github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.2.1/go.mod h1:hyhw+I19NtjKmRLcUkY4boaTxnYSPFGbpn4RxvGqH2s= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 h1:ALrDCBih8Fu8e6530KdOjuH0iMxOLntO381BbKFlTFY= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1/go.mod h1:+qGWSehoV0Js3FalgvT/bOgPj+UqW4I7lP5s8uAxP+o= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1 h1:8uPt82Ez34OYMOijjEYxB1zUW6kiybkt6veQKl0AL68= -github.com/stackitcloud/stackit-sdk-go/services/redis v0.25.1/go.mod h1:1Y2GEICmZDt+kr8aGnBx/sjYVAIYHmtfC8xYi9oxNEE= +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/loadbalancer v1.7.0 h1:ZyaB4jL71p+FWI/cXgP+p6t4iw1oAeGbLLOz4cs3dmI= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0/go.mod h1:dYmNdSNDKUG+E0SwuFWu+c8CuMBF/l6w1bdzAHxQao0= +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.2.1 h1:OdofRB6uj6lwN/TXLVHVrEOwNMG34MlFNwkiHD+eOts= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.2.1/go.mod h1:5p7Xi8jadpJNDYr0t+07DXS104/RJLfhhA1r6P7PlGs= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.13.1 h1:WKFzlHllql3JsVcAq+Y1m5pSMkvwp1qH3Vf2N7i8CPg= -github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.13.1/go.mod h1:WGMFtGugBmUxI+nibI7eUZIQk4AGlDvwqX+m17W1y5w= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2 h1:tfKC4Z6Uah9AQZrtCn/ytqOgc//ChQRfJ6ozxovgads= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.2/go.mod h1:wV7/BUV3BCLq5+E1bHXrKKt/eOPVdWgLArWLAq7rZ/U= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1 h1:hcHX2n5pUsOcv2PPPbSJph1fQ/I6P7g7781T1f1ycEI= -github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.1/go.mod h1:jZwTg3wU4/UxgNJ7TKlFZ3dTIlnfvppnW8kJTc4UXy8= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 h1:crKlHl7QVF97A8CTBK3PBtVpO9c/7qwFvRJi5UN/F7Y= -github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1/go.mod h1:QCrAW/Rmf+styT25ke8cUV6hDHpdKNmAY14kkJ3+Fd8= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.2 h1:s2iag/Gc4tuQH7x5I0n4mQWVhpfl/cj+SVNAFAB5ck0= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.2/go.mod h1:DFEamKVoOjm/rjMwzfZK0Zg/hwsSkXOibdA4HcC6swk= +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/serverbackup v1.3.5 h1:pAoqz4K17ZWcLusu7Dxkx3HGQAIYCk7SmZeAu9HHUrQ= +github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5/go.mod h1:MBlzqmewliF1LKeOBdOuT+aQrtc3y7p1Kd1fWkjecKQ= +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.4.0 h1:V6RFvybDeJvvmT3g7/BZodF0gozz3TEpahbpiTftbeY= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.4.0/go.mod h1:xRBgpJ8P5Nf1T5tD0tGAeNg1FNQzx5VF7qqOXt2Fp3s= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3 h1:TFefEGGxvcI7euqyosbLS/zSEOy+3JMGOirW3vNj/84= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.3.3/go.mod h1:Jsry+gfhuXv2P0ldfa48BaL605NhDjdQMgaoV8czlbo= -github.com/stackitcloud/terraform-provider-stackit v0.76.0 h1:OK7+lUa3kDv2ay+COpe6Z92ntFfwcOJP00CEVivMk2o= -github.com/stackitcloud/terraform-provider-stackit v0.76.0/go.mod h1:ad/BdSuh6wdYcPWWk0kaeGkqNHJij9VLfH7gn/ZsVE4= +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/sqlserverflex v1.4.0 h1:KgIRTw4gpxx8qoiaLGLbXPVDcBgCxPl60gigw+tizYc= +github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0/go.mod h1:fd13ANCU/Pye8uDd/6E0I605+6PYfHuVIQpPEK2Ph6c= +github.com/stackitcloud/terraform-provider-stackit v0.79.0 h1:h2hn+M6ARQR3GRHz3S2YatV2foknbuf3BAtybJ8/a58= +github.com/stackitcloud/terraform-provider-stackit v0.79.0/go.mod h1:cn501lAiwMFdVic3FfLzHyORFndwioloi8BeWNrWYYw= 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= @@ -155,11 +157,11 @@ github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAh github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/zclconf/go-cty v1.17.0 h1:seZvECve6XX4tmnvRzWtJNHdscMtYEx5R7bnnVyd/d0= github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= -golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= -golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI= -golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= +golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8= +golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -167,11 +169,11 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= -golang.org/x/tools v0.40.0 h1:yLkxfA+Qnul4cs9QA3KnlFu0lVmd8JJfoq+E41uSutA= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY= diff --git a/sdk/dotnet/.gitattributes b/sdk/dotnet/.gitattributes new file mode 100644 index 0000000..aae64e2 --- /dev/null +++ b/sdk/dotnet/.gitattributes @@ -0,0 +1 @@ +* linguist-generated diff --git a/sdk/dotnet/.gitignore b/sdk/dotnet/.gitignore new file mode 100644 index 0000000..1746e32 --- /dev/null +++ b/sdk/dotnet/.gitignore @@ -0,0 +1,2 @@ +bin +obj diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index fdf3a25..fe14336 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -82,6 +82,16 @@ public static string? DnsCustomEndpoint set => _dnsCustomEndpoint.Set(value); } + private static readonly __Value _edgecloudCustomEndpoint = new __Value(() => __config.Get("edgecloudCustomEndpoint")); + /// + /// Custom endpoint for the Edge Cloud service + /// + public static string? EdgecloudCustomEndpoint + { + get => _edgecloudCustomEndpoint.Get(); + set => _edgecloudCustomEndpoint.Set(value); + } + private static readonly __Value _enableBetaResources = new __Value(() => __config.GetBoolean("enableBetaResources")); /// /// Enable beta resources. Default is false. @@ -152,6 +162,16 @@ public static string? LogmeCustomEndpoint set => _logmeCustomEndpoint.Set(value); } + private static readonly __Value _logsCustomEndpoint = new __Value(() => __config.Get("logsCustomEndpoint")); + /// + /// Custom endpoint for the Logs service + /// + public static string? LogsCustomEndpoint + { + get => _logsCustomEndpoint.Get(); + set => _logsCustomEndpoint.Set(value); + } + private static readonly __Value _mariadbCustomEndpoint = new __Value(() => __config.Get("mariadbCustomEndpoint")); /// /// Custom endpoint for the MariaDB service diff --git a/sdk/dotnet/EdgecloudInstance.cs b/sdk/dotnet/EdgecloudInstance.cs new file mode 100644 index 0000000..2227cb5 --- /dev/null +++ b/sdk/dotnet/EdgecloudInstance.cs @@ -0,0 +1,221 @@ +// *** 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 +{ + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > This resource 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. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/edgecloudInstance:EdgecloudInstance")] + public partial class EdgecloudInstance : global::Pulumi.CustomResource + { + /// + /// The date and time the creation of the instance was triggered. + /// + [Output("created")] + public Output Created { get; private set; } = null!; + + /// + /// Description for your STACKIT Edge Cloud instance. Max length is 256 characters + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// Frontend URL for the Edge Cloud instance. + /// + [Output("frontendUrl")] + public Output FrontendUrl { get; private set; } = null!; + + /// + /// \n\n-\n\n + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + /// + [Output("planId")] + public Output PlanId { get; private set; } = null!; + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region to use for the instance, providers DefaultRegion will be used if unset. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// instance status + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a EdgecloudInstance 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 EdgecloudInstance(string name, EdgecloudInstanceArgs args, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudInstance:EdgecloudInstance", name, args ?? new EdgecloudInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private EdgecloudInstance(string name, Input id, EdgecloudInstanceState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudInstance:EdgecloudInstance", 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 EdgecloudInstance 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 EdgecloudInstance Get(string name, Input id, EdgecloudInstanceState? state = null, CustomResourceOptions? options = null) + { + return new EdgecloudInstance(name, id, state, options); + } + } + + public sealed class EdgecloudInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Description for your STACKIT Edge Cloud instance. Max length is 256 characters + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + /// + [Input("planId", required: true)] + public Input PlanId { get; set; } = null!; + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region to use for the instance, providers DefaultRegion will be used if unset. + /// + [Input("region")] + public Input? Region { get; set; } + + public EdgecloudInstanceArgs() + { + } + public static new EdgecloudInstanceArgs Empty => new EdgecloudInstanceArgs(); + } + + public sealed class EdgecloudInstanceState : global::Pulumi.ResourceArgs + { + /// + /// The date and time the creation of the instance was triggered. + /// + [Input("created")] + public Input? Created { get; set; } + + /// + /// Description for your STACKIT Edge Cloud instance. Max length is 256 characters + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Frontend URL for the Edge Cloud instance. + /// + [Input("frontendUrl")] + public Input? FrontendUrl { get; set; } + + /// + /// \n\n-\n\n + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + /// + [Input("planId")] + public Input? PlanId { get; set; } + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region to use for the instance, providers DefaultRegion will be used if unset. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// instance status + /// + [Input("status")] + public Input? Status { get; set; } + + public EdgecloudInstanceState() + { + } + public static new EdgecloudInstanceState Empty => new EdgecloudInstanceState(); + } +} diff --git a/sdk/dotnet/EdgecloudKubeconfig.cs b/sdk/dotnet/EdgecloudKubeconfig.cs new file mode 100644 index 0000000..c4854dc --- /dev/null +++ b/sdk/dotnet/EdgecloudKubeconfig.cs @@ -0,0 +1,247 @@ +// *** 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 +{ + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > This resource 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. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig")] + public partial class EdgecloudKubeconfig : global::Pulumi.CustomResource + { + /// + /// Date-time when the kubeconfig was created + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Output("expiration")] + public Output Expiration { get; private set; } = null!; + + /// + /// Timestamp when the kubeconfig expires + /// + [Output("expiresAt")] + public Output ExpiresAt { get; private set; } = null!; + + /// + /// ID of the Edge Cloud instance. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Name of the Edge Cloud instance. + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// Raw kubeconfig. + /// + [Output("kubeconfig")] + public Output Kubeconfig { get; private set; } = null!; + + [Output("kubeconfigId")] + public Output KubeconfigId { get; private set; } = null!; + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// Number of seconds before expiration to trigger recreation of the kubeconfig at. + /// + [Output("recreateBefore")] + public Output RecreateBefore { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + + /// + /// Create a EdgecloudKubeconfig 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 EdgecloudKubeconfig(string name, EdgecloudKubeconfigArgs args, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig", name, args ?? new EdgecloudKubeconfigArgs(), MakeResourceOptions(options, "")) + { + } + + private EdgecloudKubeconfig(string name, Input id, EdgecloudKubeconfigState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig", 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", + AdditionalSecretOutputs = + { + "kubeconfig", + }, + }; + 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 EdgecloudKubeconfig 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 EdgecloudKubeconfig Get(string name, Input id, EdgecloudKubeconfigState? state = null, CustomResourceOptions? options = null) + { + return new EdgecloudKubeconfig(name, id, state, options); + } + } + + public sealed class EdgecloudKubeconfigArgs : global::Pulumi.ResourceArgs + { + /// + /// Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Input("expiration")] + public Input? Expiration { get; set; } + + /// + /// ID of the Edge Cloud instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Name of the Edge Cloud instance. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// Number of seconds before expiration to trigger recreation of the kubeconfig at. + /// + [Input("recreateBefore")] + public Input? RecreateBefore { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public EdgecloudKubeconfigArgs() + { + } + public static new EdgecloudKubeconfigArgs Empty => new EdgecloudKubeconfigArgs(); + } + + public sealed class EdgecloudKubeconfigState : global::Pulumi.ResourceArgs + { + /// + /// Date-time when the kubeconfig was created + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Input("expiration")] + public Input? Expiration { get; set; } + + /// + /// Timestamp when the kubeconfig expires + /// + [Input("expiresAt")] + public Input? ExpiresAt { get; set; } + + /// + /// ID of the Edge Cloud instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Name of the Edge Cloud instance. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + [Input("kubeconfig")] + private Input? _kubeconfig; + + /// + /// Raw kubeconfig. + /// + public Input? Kubeconfig + { + get => _kubeconfig; + set + { + var emptySecret = Output.CreateSecret(0); + _kubeconfig = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("kubeconfigId")] + public Input? KubeconfigId { get; set; } + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// Number of seconds before expiration to trigger recreation of the kubeconfig at. + /// + [Input("recreateBefore")] + public Input? RecreateBefore { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public EdgecloudKubeconfigState() + { + } + public static new EdgecloudKubeconfigState Empty => new EdgecloudKubeconfigState(); + } +} diff --git a/sdk/dotnet/EdgecloudToken.cs b/sdk/dotnet/EdgecloudToken.cs new file mode 100644 index 0000000..1f3b998 --- /dev/null +++ b/sdk/dotnet/EdgecloudToken.cs @@ -0,0 +1,247 @@ +// *** 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 +{ + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > This resource 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. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/edgecloudToken:EdgecloudToken")] + public partial class EdgecloudToken : global::Pulumi.CustomResource + { + /// + /// Date-time when the token was created + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Output("expiration")] + public Output Expiration { get; private set; } = null!; + + /// + /// Timestamp when the token expires + /// + [Output("expiresAt")] + public Output ExpiresAt { get; private set; } = null!; + + /// + /// ID of the Edge Cloud instance. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// Name of the Edge Cloud instance. + /// + [Output("instanceName")] + public Output InstanceName { get; private set; } = null!; + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// Number of seconds before expiration to trigger recreation of the token at. + /// + [Output("recreateBefore")] + public Output RecreateBefore { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Raw token. + /// + [Output("token")] + public Output Token { get; private set; } = null!; + + [Output("tokenId")] + public Output TokenId { get; private set; } = null!; + + + /// + /// Create a EdgecloudToken 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 EdgecloudToken(string name, EdgecloudTokenArgs args, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudToken:EdgecloudToken", name, args ?? new EdgecloudTokenArgs(), MakeResourceOptions(options, "")) + { + } + + private EdgecloudToken(string name, Input id, EdgecloudTokenState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/edgecloudToken:EdgecloudToken", 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", + AdditionalSecretOutputs = + { + "token", + }, + }; + 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 EdgecloudToken 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 EdgecloudToken Get(string name, Input id, EdgecloudTokenState? state = null, CustomResourceOptions? options = null) + { + return new EdgecloudToken(name, id, state, options); + } + } + + public sealed class EdgecloudTokenArgs : global::Pulumi.ResourceArgs + { + /// + /// Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Input("expiration")] + public Input? Expiration { get; set; } + + /// + /// ID of the Edge Cloud instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Name of the Edge Cloud instance. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// Number of seconds before expiration to trigger recreation of the token at. + /// + [Input("recreateBefore")] + public Input? RecreateBefore { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public EdgecloudTokenArgs() + { + } + public static new EdgecloudTokenArgs Empty => new EdgecloudTokenArgs(); + } + + public sealed class EdgecloudTokenState : global::Pulumi.ResourceArgs + { + /// + /// Date-time when the token was created + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + /// + [Input("expiration")] + public Input? Expiration { get; set; } + + /// + /// Timestamp when the token expires + /// + [Input("expiresAt")] + public Input? ExpiresAt { get; set; } + + /// + /// ID of the Edge Cloud instance. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// Name of the Edge Cloud instance. + /// + [Input("instanceName")] + public Input? InstanceName { get; set; } + + /// + /// STACKIT project ID to which the Edge Cloud instance is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// Number of seconds before expiration to trigger recreation of the token at. + /// + [Input("recreateBefore")] + public Input? RecreateBefore { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("token")] + private Input? _token; + + /// + /// Raw token. + /// + public Input? Token + { + get => _token; + set + { + var emptySecret = Output.CreateSecret(0); + _token = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("tokenId")] + public Input? TokenId { get; set; } + + public EdgecloudTokenState() + { + } + public static new EdgecloudTokenState Empty => new EdgecloudTokenState(); + } +} diff --git a/sdk/dotnet/GetEdgecloudInstances.cs b/sdk/dotnet/GetEdgecloudInstances.cs new file mode 100644 index 0000000..dedc6e4 --- /dev/null +++ b/sdk/dotnet/GetEdgecloudInstances.cs @@ -0,0 +1,162 @@ +// *** 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 GetEdgecloudInstances + { + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// # returns all Edge Cloud instances created in the given project which are inside the provider default_region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// } + /// + /// # returns all Edge Cloud instances created in the given project in the given region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// region = var.region + /// } + /// ``` + /// + public static Task InvokeAsync(GetEdgecloudInstancesArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getEdgecloudInstances:getEdgecloudInstances", args ?? new GetEdgecloudInstancesArgs(), options.WithDefaults()); + + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// # returns all Edge Cloud instances created in the given project which are inside the provider default_region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// } + /// + /// # returns all Edge Cloud instances created in the given project in the given region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// region = var.region + /// } + /// ``` + /// + public static Output Invoke(GetEdgecloudInstancesInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getEdgecloudInstances:getEdgecloudInstances", args ?? new GetEdgecloudInstancesInvokeArgs(), options.WithDefaults()); + + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// # returns all Edge Cloud instances created in the given project which are inside the provider default_region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// } + /// + /// # returns all Edge Cloud instances created in the given project in the given region + /// data "stackit_edgecloud_instances" "plan_id" { + /// project_id = var.project_id + /// region = var.region + /// } + /// ``` + /// + public static Output Invoke(GetEdgecloudInstancesInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getEdgecloudInstances:getEdgecloudInstances", args ?? new GetEdgecloudInstancesInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEdgecloudInstancesArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the Edge Cloud instances are associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetEdgecloudInstancesArgs() + { + } + public static new GetEdgecloudInstancesArgs Empty => new GetEdgecloudInstancesArgs(); + } + + public sealed class GetEdgecloudInstancesInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the Edge Cloud instances are associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetEdgecloudInstancesInvokeArgs() + { + } + public static new GetEdgecloudInstancesInvokeArgs Empty => new GetEdgecloudInstancesInvokeArgs(); + } + + + [OutputType] + public sealed class GetEdgecloudInstancesResult + { + public readonly string Id; + /// + /// A list of Edge Cloud instances. + /// + public readonly ImmutableArray Instances; + /// + /// STACKIT project ID to which the Edge Cloud instances are associated. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + + [OutputConstructor] + private GetEdgecloudInstancesResult( + string id, + + ImmutableArray instances, + + string projectId, + + string? region) + { + Id = id; + Instances = instances; + ProjectId = projectId; + Region = region; + } + } +} diff --git a/sdk/dotnet/GetEdgecloudPlans.cs b/sdk/dotnet/GetEdgecloudPlans.cs new file mode 100644 index 0000000..80c69e6 --- /dev/null +++ b/sdk/dotnet/GetEdgecloudPlans.cs @@ -0,0 +1,122 @@ +// *** 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 GetEdgecloudPlans + { + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_edgecloud_plans" "this" { + /// project_id = var.project_id + /// } + /// ``` + /// + public static Task InvokeAsync(GetEdgecloudPlansArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getEdgecloudPlans:getEdgecloudPlans", args ?? new GetEdgecloudPlansArgs(), options.WithDefaults()); + + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_edgecloud_plans" "this" { + /// project_id = var.project_id + /// } + /// ``` + /// + public static Output Invoke(GetEdgecloudPlansInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getEdgecloudPlans:getEdgecloudPlans", args ?? new GetEdgecloudPlansInvokeArgs(), options.WithDefaults()); + + /// + /// Edge Cloud is in private Beta and not generally available. + /// You can contact support if you are interested in trying it out. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_edgecloud_plans" "this" { + /// project_id = var.project_id + /// } + /// ``` + /// + public static Output Invoke(GetEdgecloudPlansInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getEdgecloudPlans:getEdgecloudPlans", args ?? new GetEdgecloudPlansInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetEdgecloudPlansArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID the Plans belongs to. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + public GetEdgecloudPlansArgs() + { + } + public static new GetEdgecloudPlansArgs Empty => new GetEdgecloudPlansArgs(); + } + + public sealed class GetEdgecloudPlansInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID the Plans belongs to. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + public GetEdgecloudPlansInvokeArgs() + { + } + public static new GetEdgecloudPlansInvokeArgs Empty => new GetEdgecloudPlansInvokeArgs(); + } + + + [OutputType] + public sealed class GetEdgecloudPlansResult + { + public readonly string Id; + /// + /// A list of Edge Cloud Plans. + /// + public readonly ImmutableArray Plans; + /// + /// STACKIT project ID the Plans belongs to. + /// + public readonly string ProjectId; + + [OutputConstructor] + private GetEdgecloudPlansResult( + string id, + + ImmutableArray plans, + + string projectId) + { + Id = id; + Plans = plans; + ProjectId = projectId; + } + } +} diff --git a/sdk/dotnet/GetLogsInstance.cs b/sdk/dotnet/GetLogsInstance.cs new file mode 100644 index 0000000..8bc502b --- /dev/null +++ b/sdk/dotnet/GetLogsInstance.cs @@ -0,0 +1,233 @@ +// *** 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 GetLogsInstance + { + /// + /// Logs instance data source schema. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_logs_instance" "logs" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetLogsInstanceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getLogsInstance:getLogsInstance", args ?? new GetLogsInstanceArgs(), options.WithDefaults()); + + /// + /// Logs instance data source schema. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_logs_instance" "logs" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetLogsInstanceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getLogsInstance:getLogsInstance", args ?? new GetLogsInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// Logs instance data source schema. + /// + /// > 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. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_logs_instance" "logs" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetLogsInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getLogsInstance:getLogsInstance", args ?? new GetLogsInstanceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetLogsInstanceArgs : global::Pulumi.InvokeArgs + { + /// + /// The Logs instance ID + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the Logs instance + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetLogsInstanceArgs() + { + } + public static new GetLogsInstanceArgs Empty => new GetLogsInstanceArgs(); + } + + public sealed class GetLogsInstanceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The Logs instance ID + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the Logs instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetLogsInstanceInvokeArgs() + { + } + public static new GetLogsInstanceInvokeArgs Empty => new GetLogsInstanceInvokeArgs(); + } + + + [OutputType] + public sealed class GetLogsInstanceResult + { + /// + /// The access control list entries for the Logs instance + /// + public readonly ImmutableArray Acls; + /// + /// The date and time the creation of the Logs instance was initiated + /// + public readonly string Created; + /// + /// Logs instance datasource URL, can be used in Grafana as datasource URL + /// + public readonly string DatasourceUrl; + /// + /// The description of the Logs instance + /// + public readonly string Description; + /// + /// The displayed name of the Logs instance + /// + public readonly string DisplayName; + public readonly string Id; + /// + /// The Logs instance's ingest logs via OTLP URL + /// + public readonly string IngestOtlpUrl; + /// + /// The logs instance's ingest logs URL + /// + public readonly string IngestUrl; + /// + /// The Logs instance ID + /// + public readonly string InstanceId; + /// + /// STACKIT project ID associated with the Logs instance + /// + public readonly string ProjectId; + /// + /// The Logs instance's query range URL + /// + public readonly string QueryRangeUrl; + /// + /// The Logs instance's query URL + /// + public readonly string QueryUrl; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + /// + /// The log retention time in days + /// + public readonly int RetentionDays; + /// + /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// + public readonly string Status; + + [OutputConstructor] + private GetLogsInstanceResult( + ImmutableArray acls, + + string created, + + string datasourceUrl, + + string description, + + string displayName, + + string id, + + string ingestOtlpUrl, + + string ingestUrl, + + string instanceId, + + string projectId, + + string queryRangeUrl, + + string queryUrl, + + string? region, + + int retentionDays, + + string status) + { + Acls = acls; + Created = created; + DatasourceUrl = datasourceUrl; + Description = description; + DisplayName = displayName; + Id = id; + IngestOtlpUrl = ingestOtlpUrl; + IngestUrl = ingestUrl; + InstanceId = instanceId; + ProjectId = projectId; + QueryRangeUrl = queryRangeUrl; + QueryUrl = queryUrl; + Region = region; + RetentionDays = retentionDays; + Status = status; + } + } +} diff --git a/sdk/dotnet/GetRoutingTable.cs b/sdk/dotnet/GetRoutingTable.cs index 2e655cd..f3df55c 100644 --- a/sdk/dotnet/GetRoutingTable.cs +++ b/sdk/dotnet/GetRoutingTable.cs @@ -147,6 +147,10 @@ public sealed class GetRoutingTableResult /// Description of the routing table. /// public readonly string Description; + /// + /// This controls whether dynamic routes are propagated to this routing table + /// + public readonly bool DynamicRoutes; public readonly string Id; /// /// Labels are key-value string pairs which can be attached to a resource container @@ -189,6 +193,8 @@ private GetRoutingTableResult( string description, + bool dynamicRoutes, + string id, ImmutableDictionary labels, @@ -210,6 +216,7 @@ private GetRoutingTableResult( CreatedAt = createdAt; Default = @default; Description = description; + DynamicRoutes = dynamicRoutes; Id = id; Labels = labels; Name = name; diff --git a/sdk/dotnet/GetVolume.cs b/sdk/dotnet/GetVolume.cs index 87e077f..f1efd69 100644 --- a/sdk/dotnet/GetVolume.cs +++ b/sdk/dotnet/GetVolume.cs @@ -122,6 +122,10 @@ public sealed class GetVolumeResult /// The description of the volume. /// public readonly string Description; + /// + /// Indicates if the volume is encrypted. + /// + public readonly bool Encrypted; public readonly string Id; /// /// Labels are key-value string pairs which can be attached to a resource container @@ -166,6 +170,8 @@ private GetVolumeResult( string description, + bool encrypted, + string id, ImmutableDictionary labels, @@ -188,6 +194,7 @@ private GetVolumeResult( { AvailabilityZone = availabilityZone; Description = description; + Encrypted = encrypted; Id = id; Labels = labels; Name = name; diff --git a/sdk/dotnet/Inputs/VolumeEncryptionParametersArgs.cs b/sdk/dotnet/Inputs/VolumeEncryptionParametersArgs.cs new file mode 100644 index 0000000..2f1c995 --- /dev/null +++ b/sdk/dotnet/Inputs/VolumeEncryptionParametersArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class VolumeEncryptionParametersArgs : global::Pulumi.ResourceArgs + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + [Input("keyPayloadBase64")] + private Input? _keyPayloadBase64; + + /// + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public Input? KeyPayloadBase64 + { + get => _keyPayloadBase64; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPayloadBase64 = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("keyPayloadBase64Wo")] + private Input? _keyPayloadBase64Wo; + + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public Input? KeyPayloadBase64Wo + { + get => _keyPayloadBase64Wo; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPayloadBase64Wo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Used together with `KeyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `KeyPayloadBase64Wo` is required. + /// + [Input("keyPayloadBase64WoVersion")] + public Input? KeyPayloadBase64WoVersion { get; set; } + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public VolumeEncryptionParametersArgs() + { + } + public static new VolumeEncryptionParametersArgs Empty => new VolumeEncryptionParametersArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VolumeEncryptionParametersGetArgs.cs b/sdk/dotnet/Inputs/VolumeEncryptionParametersGetArgs.cs new file mode 100644 index 0000000..79f2f0a --- /dev/null +++ b/sdk/dotnet/Inputs/VolumeEncryptionParametersGetArgs.cs @@ -0,0 +1,83 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Inputs +{ + + public sealed class VolumeEncryptionParametersGetArgs : global::Pulumi.ResourceArgs + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyId", required: true)] + public Input KekKeyId { get; set; } = null!; + + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + [Input("kekKeyVersion", required: true)] + public Input KekKeyVersion { get; set; } = null!; + + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + [Input("kekKeyringId", required: true)] + public Input KekKeyringId { get; set; } = null!; + + [Input("keyPayloadBase64")] + private Input? _keyPayloadBase64; + + /// + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public Input? KeyPayloadBase64 + { + get => _keyPayloadBase64; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPayloadBase64 = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + [Input("keyPayloadBase64Wo")] + private Input? _keyPayloadBase64Wo; + + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public Input? KeyPayloadBase64Wo + { + get => _keyPayloadBase64Wo; + set + { + var emptySecret = Output.CreateSecret(0); + _keyPayloadBase64Wo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Used together with `KeyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `KeyPayloadBase64Wo` is required. + /// + [Input("keyPayloadBase64WoVersion")] + public Input? KeyPayloadBase64WoVersion { get; set; } + + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + [Input("serviceAccount", required: true)] + public Input ServiceAccount { get; set; } = null!; + + public VolumeEncryptionParametersGetArgs() + { + } + public static new VolumeEncryptionParametersGetArgs Empty => new VolumeEncryptionParametersGetArgs(); + } +} diff --git a/sdk/dotnet/LogsInstance.cs b/sdk/dotnet/LogsInstance.cs new file mode 100644 index 0000000..e2eab67 --- /dev/null +++ b/sdk/dotnet/LogsInstance.cs @@ -0,0 +1,298 @@ +// *** 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 +{ + /// + /// Logs instance resource schema. + /// + /// > This resource 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. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/logsInstance:LogsInstance")] + public partial class LogsInstance : global::Pulumi.CustomResource + { + /// + /// The access control list entries for the Logs instance + /// + [Output("acls")] + public Output> Acls { get; private set; } = null!; + + /// + /// The date and time the creation of the Logs instance was initiated + /// + [Output("created")] + public Output Created { get; private set; } = null!; + + /// + /// Logs instance datasource URL, can be used in Grafana as datasource URL + /// + [Output("datasourceUrl")] + public Output DatasourceUrl { get; private set; } = null!; + + /// + /// The description of the Logs instance + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The displayed name of the Logs instance + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The Logs instance's ingest logs via OTLP URL + /// + [Output("ingestOtlpUrl")] + public Output IngestOtlpUrl { get; private set; } = null!; + + /// + /// The logs instance's ingest logs URL + /// + [Output("ingestUrl")] + public Output IngestUrl { get; private set; } = null!; + + /// + /// The Logs instance ID + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the Logs instance + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The Logs instance's query range URL + /// + [Output("queryRangeUrl")] + public Output QueryRangeUrl { get; private set; } = null!; + + /// + /// The Logs instance's query URL + /// + [Output("queryUrl")] + public Output QueryUrl { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The log retention time in days + /// + [Output("retentionDays")] + public Output RetentionDays { get; private set; } = null!; + + /// + /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a LogsInstance 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 LogsInstance(string name, LogsInstanceArgs args, CustomResourceOptions? options = null) + : base("stackit:index/logsInstance:LogsInstance", name, args ?? new LogsInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private LogsInstance(string name, Input id, LogsInstanceState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/logsInstance:LogsInstance", 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 LogsInstance 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 LogsInstance Get(string name, Input id, LogsInstanceState? state = null, CustomResourceOptions? options = null) + { + return new LogsInstance(name, id, state, options); + } + } + + public sealed class LogsInstanceArgs : global::Pulumi.ResourceArgs + { + [Input("acls")] + private InputList? _acls; + + /// + /// The access control list entries for the Logs instance + /// + public InputList Acls + { + get => _acls ?? (_acls = new InputList()); + set => _acls = value; + } + + /// + /// The description of the Logs instance + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the Logs instance + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// STACKIT project ID associated with the Logs instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The log retention time in days + /// + [Input("retentionDays", required: true)] + public Input RetentionDays { get; set; } = null!; + + public LogsInstanceArgs() + { + } + public static new LogsInstanceArgs Empty => new LogsInstanceArgs(); + } + + public sealed class LogsInstanceState : global::Pulumi.ResourceArgs + { + [Input("acls")] + private InputList? _acls; + + /// + /// The access control list entries for the Logs instance + /// + public InputList Acls + { + get => _acls ?? (_acls = new InputList()); + set => _acls = value; + } + + /// + /// The date and time the creation of the Logs instance was initiated + /// + [Input("created")] + public Input? Created { get; set; } + + /// + /// Logs instance datasource URL, can be used in Grafana as datasource URL + /// + [Input("datasourceUrl")] + public Input? DatasourceUrl { get; set; } + + /// + /// The description of the Logs instance + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the Logs instance + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The Logs instance's ingest logs via OTLP URL + /// + [Input("ingestOtlpUrl")] + public Input? IngestOtlpUrl { get; set; } + + /// + /// The logs instance's ingest logs URL + /// + [Input("ingestUrl")] + public Input? IngestUrl { get; set; } + + /// + /// The Logs instance ID + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT project ID associated with the Logs instance + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The Logs instance's query range URL + /// + [Input("queryRangeUrl")] + public Input? QueryRangeUrl { get; set; } + + /// + /// The Logs instance's query URL + /// + [Input("queryUrl")] + public Input? QueryUrl { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The log retention time in days + /// + [Input("retentionDays")] + public Input? RetentionDays { get; set; } + + /// + /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// + [Input("status")] + public Input? Status { get; set; } + + public LogsInstanceState() + { + } + public static new LogsInstanceState Empty => new LogsInstanceState(); + } +} diff --git a/sdk/dotnet/NetworkArea.cs b/sdk/dotnet/NetworkArea.cs index 2550ee3..23f9cde 100644 --- a/sdk/dotnet/NetworkArea.cs +++ b/sdk/dotnet/NetworkArea.cs @@ -9,11 +9,6 @@ namespace Pulumi.Stackit { - /// - /// Network area resource schema. - /// - /// ## Example Usage - /// [StackitResourceType("stackit:index/networkArea:NetworkArea")] public partial class NetworkArea : global::Pulumi.CustomResource { diff --git a/sdk/dotnet/Outputs/GetEdgecloudInstancesInstanceResult.cs b/sdk/dotnet/Outputs/GetEdgecloudInstancesInstanceResult.cs new file mode 100644 index 0000000..eaade7f --- /dev/null +++ b/sdk/dotnet/Outputs/GetEdgecloudInstancesInstanceResult.cs @@ -0,0 +1,77 @@ +// *** 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 GetEdgecloudInstancesInstanceResult + { + /// + /// The date and time the instance was created. + /// + public readonly string Created; + /// + /// Description of the instance. + /// + public readonly string Description; + /// + /// The display name of the instance. + /// + public readonly string DisplayName; + /// + /// Frontend URL for the Edge Cloud instance. + /// + public readonly string FrontendUrl; + /// + /// The ID of the instance. + /// + public readonly string InstanceId; + /// + /// The plan ID for the instance. + /// + public readonly string PlanId; + /// + /// The region where the instance is located. + /// + public readonly string Region; + /// + /// The status of the instance. + /// + public readonly string Status; + + [OutputConstructor] + private GetEdgecloudInstancesInstanceResult( + string created, + + string description, + + string displayName, + + string frontendUrl, + + string instanceId, + + string planId, + + string region, + + string status) + { + Created = created; + Description = description; + DisplayName = displayName; + FrontendUrl = frontendUrl; + InstanceId = instanceId; + PlanId = planId; + Region = region; + Status = status; + } + } +} diff --git a/sdk/dotnet/Outputs/GetEdgecloudPlansPlanResult.cs b/sdk/dotnet/Outputs/GetEdgecloudPlansPlanResult.cs new file mode 100644 index 0000000..0b7eeb9 --- /dev/null +++ b/sdk/dotnet/Outputs/GetEdgecloudPlansPlanResult.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 GetEdgecloudPlansPlanResult + { + /// + /// Description of the plan. + /// + public readonly string Description; + /// + /// The ID of the plan. + /// + public readonly string Id; + /// + /// Maximum number of Edge Cloud hosts that can be used. + /// + public readonly int MaxEdgeHosts; + /// + /// The name of the plan. + /// + public readonly string Name; + + [OutputConstructor] + private GetEdgecloudPlansPlanResult( + string description, + + string id, + + int maxEdgeHosts, + + string name) + { + Description = description; + Id = id; + MaxEdgeHosts = maxEdgeHosts; + Name = name; + } + } +} diff --git a/sdk/dotnet/Outputs/GetRoutingTablesItemResult.cs b/sdk/dotnet/Outputs/GetRoutingTablesItemResult.cs index db00a46..4c3ebe6 100644 --- a/sdk/dotnet/Outputs/GetRoutingTablesItemResult.cs +++ b/sdk/dotnet/Outputs/GetRoutingTablesItemResult.cs @@ -26,6 +26,10 @@ public sealed class GetRoutingTablesItemResult /// public readonly string Description; /// + /// This controls whether dynamic routes are propagated to this routing table + /// + public readonly bool DynamicRoutes; + /// /// Labels are key-value string pairs which can be attached to a resource container /// public readonly ImmutableDictionary Labels; @@ -54,6 +58,8 @@ private GetRoutingTablesItemResult( string description, + bool dynamicRoutes, + ImmutableDictionary labels, string name, @@ -67,6 +73,7 @@ private GetRoutingTablesItemResult( CreatedAt = createdAt; Default = @default; Description = description; + DynamicRoutes = dynamicRoutes; Labels = labels; Name = name; RoutingTableId = routingTableId; diff --git a/sdk/dotnet/Outputs/VolumeEncryptionParameters.cs b/sdk/dotnet/Outputs/VolumeEncryptionParameters.cs new file mode 100644 index 0000000..cbc734d --- /dev/null +++ b/sdk/dotnet/Outputs/VolumeEncryptionParameters.cs @@ -0,0 +1,71 @@ +// *** 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 VolumeEncryptionParameters + { + /// + /// UUID of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly string KekKeyId; + /// + /// Version of the key within the STACKIT-KMS to use for the encryption. + /// + public readonly int KekKeyVersion; + /// + /// UUID of the keyring where the key is located within the STACKTI-KMS. + /// + public readonly string KekKeyringId; + /// + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public readonly string? KeyPayloadBase64; + /// + /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + /// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + /// + public readonly string? KeyPayloadBase64Wo; + /// + /// Used together with `KeyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `KeyPayloadBase64Wo` is required. + /// + public readonly int? KeyPayloadBase64WoVersion; + /// + /// Service-Account linked to the Key within the STACKIT-KMS. + /// + public readonly string ServiceAccount; + + [OutputConstructor] + private VolumeEncryptionParameters( + string kekKeyId, + + int kekKeyVersion, + + string kekKeyringId, + + string? keyPayloadBase64, + + string? keyPayloadBase64Wo, + + int? keyPayloadBase64WoVersion, + + string serviceAccount) + { + KekKeyId = kekKeyId; + KekKeyVersion = kekKeyVersion; + KekKeyringId = kekKeyringId; + KeyPayloadBase64 = keyPayloadBase64; + KeyPayloadBase64Wo = keyPayloadBase64Wo; + KeyPayloadBase64WoVersion = keyPayloadBase64WoVersion; + ServiceAccount = serviceAccount; + } + } +} diff --git a/sdk/dotnet/PostgresflexUser.cs b/sdk/dotnet/PostgresflexUser.cs index b3690e6..2604365 100644 --- a/sdk/dotnet/PostgresflexUser.cs +++ b/sdk/dotnet/PostgresflexUser.cs @@ -45,7 +45,7 @@ public partial class PostgresflexUser : global::Pulumi.CustomResource public Output Region { get; private set; } = null!; /// - /// Database access levels for the user. Possible values are: `Login`, `Createdb`. + /// Database access levels for the user. /// [Output("roles")] public Output> Roles { get; private set; } = null!; @@ -136,7 +136,7 @@ public sealed class PostgresflexUserArgs : global::Pulumi.ResourceArgs private InputList? _roles; /// - /// Database access levels for the user. Possible values are: `Login`, `Createdb`. + /// Database access levels for the user. /// public InputList Roles { @@ -195,7 +195,7 @@ public Input? Password private InputList? _roles; /// - /// Database access levels for the user. Possible values are: `Login`, `Createdb`. + /// Database access levels for the user. /// public InputList Roles { diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 2e09245..682732c 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -48,6 +48,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("dnsCustomEndpoint")] public Output DnsCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Edge Cloud service + /// + [Output("edgecloudCustomEndpoint")] + public Output EdgecloudCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the Git service /// @@ -78,6 +84,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("logmeCustomEndpoint")] public Output LogmeCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Logs service + /// + [Output("logsCustomEndpoint")] + public Output LogsCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the MariaDB service /// @@ -305,6 +317,12 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("dnsCustomEndpoint")] public Input? DnsCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Edge Cloud service + /// + [Input("edgecloudCustomEndpoint")] + public Input? EdgecloudCustomEndpoint { get; set; } + /// /// Enable beta resources. Default is false. /// @@ -353,6 +371,12 @@ public InputList Experiments [Input("logmeCustomEndpoint")] public Input? LogmeCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Logs service + /// + [Input("logsCustomEndpoint")] + public Input? LogsCustomEndpoint { get; set; } + /// /// Custom endpoint for the MariaDB service /// diff --git a/sdk/dotnet/RoutingTable.cs b/sdk/dotnet/RoutingTable.cs index ffbff2d..4225206 100644 --- a/sdk/dotnet/RoutingTable.cs +++ b/sdk/dotnet/RoutingTable.cs @@ -31,6 +31,12 @@ public partial class RoutingTable : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// This controls whether dynamic routes are propagated to this routing table + /// + [Output("dynamicRoutes")] + public Output DynamicRoutes { get; private set; } = null!; + /// /// Labels are key-value string pairs which can be attached to a resource container /// @@ -132,6 +138,12 @@ public sealed class RoutingTableArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// This controls whether dynamic routes are propagated to this routing table + /// + [Input("dynamicRoutes")] + public Input? DynamicRoutes { get; set; } + [Input("labels")] private InputMap? _labels; @@ -194,6 +206,12 @@ public sealed class RoutingTableState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// This controls whether dynamic routes are propagated to this routing table + /// + [Input("dynamicRoutes")] + public Input? DynamicRoutes { get; set; } + [Input("labels")] private InputMap? _labels; diff --git a/sdk/dotnet/Volume.cs b/sdk/dotnet/Volume.cs index 82698f0..7ce421a 100644 --- a/sdk/dotnet/Volume.cs +++ b/sdk/dotnet/Volume.cs @@ -10,8 +10,6 @@ namespace Pulumi.Stackit { /// - /// Volume resource schema. Must have a `Region` specified in the provider configuration. - /// /// ## Example Usage /// [StackitResourceType("stackit:index/volume:Volume")] @@ -29,6 +27,15 @@ public partial class Volume : global::Pulumi.CustomResource [Output("description")] public Output Description { get; private set; } = null!; + /// + /// Indicates if the volume is encrypted. + /// + [Output("encrypted")] + public Output Encrypted { get; private set; } = null!; + + [Output("encryptionParameters")] + public Output EncryptionParameters { get; private set; } = null!; + /// /// Labels are key-value string pairs which can be attached to a resource container /// @@ -142,6 +149,9 @@ public sealed class VolumeArgs : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + [Input("encryptionParameters")] + public Input? EncryptionParameters { get; set; } + [Input("labels")] private InputMap? _labels; @@ -210,6 +220,15 @@ public sealed class VolumeState : global::Pulumi.ResourceArgs [Input("description")] public Input? Description { get; set; } + /// + /// Indicates if the volume is encrypted. + /// + [Input("encrypted")] + public Input? Encrypted { get; set; } + + [Input("encryptionParameters")] + public Input? EncryptionParameters { get; set; } + [Input("labels")] private InputMap? _labels; diff --git a/sdk/go/stackit/config/config.go b/sdk/go/stackit/config/config.go index 51767f1..dd00b42 100644 --- a/sdk/go/stackit/config/config.go +++ b/sdk/go/stackit/config/config.go @@ -36,6 +36,11 @@ func GetDnsCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:dnsCustomEndpoint") } +// Custom endpoint for the Edge Cloud service +func GetEdgecloudCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:edgecloudCustomEndpoint") +} + // Enable beta resources. Default is false. func GetEnableBetaResources(ctx *pulumi.Context) bool { return config.GetBool(ctx, "stackit:enableBetaResources") @@ -71,6 +76,11 @@ func GetLogmeCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:logmeCustomEndpoint") } +// Custom endpoint for the Logs service +func GetLogsCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:logsCustomEndpoint") +} + // Custom endpoint for the MariaDB service func GetMariadbCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:mariadbCustomEndpoint") diff --git a/sdk/go/stackit/edgecloudInstance.go b/sdk/go/stackit/edgecloudInstance.go new file mode 100644 index 0000000..2b5763c --- /dev/null +++ b/sdk/go/stackit/edgecloudInstance.go @@ -0,0 +1,335 @@ +// 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" +) + +// Edge Cloud is in private Beta and not generally available. +// +// You can contact support if you are interested in trying it out. +// +// > This resource 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. +// +// ## Example Usage +type EdgecloudInstance struct { + pulumi.CustomResourceState + + // The date and time the creation of the instance was triggered. + Created pulumi.StringOutput `pulumi:"created"` + // Description for your STACKIT Edge Cloud instance. Max length is 256 characters + Description pulumi.StringOutput `pulumi:"description"` + // Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl pulumi.StringOutput `pulumi:"frontendUrl"` + // \n\n-\n\n + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + PlanId pulumi.StringOutput `pulumi:"planId"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region to use for the instance, providers defaultRegion will be used if unset. + Region pulumi.StringOutput `pulumi:"region"` + // instance status + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewEdgecloudInstance registers a new resource with the given unique name, arguments, and options. +func NewEdgecloudInstance(ctx *pulumi.Context, + name string, args *EdgecloudInstanceArgs, opts ...pulumi.ResourceOption) (*EdgecloudInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.PlanId == nil { + return nil, errors.New("invalid value for required argument 'PlanId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource EdgecloudInstance + err := ctx.RegisterResource("stackit:index/edgecloudInstance:EdgecloudInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEdgecloudInstance gets an existing EdgecloudInstance 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 GetEdgecloudInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EdgecloudInstanceState, opts ...pulumi.ResourceOption) (*EdgecloudInstance, error) { + var resource EdgecloudInstance + err := ctx.ReadResource("stackit:index/edgecloudInstance:EdgecloudInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EdgecloudInstance resources. +type edgecloudInstanceState struct { + // The date and time the creation of the instance was triggered. + Created *string `pulumi:"created"` + // Description for your STACKIT Edge Cloud instance. Max length is 256 characters + Description *string `pulumi:"description"` + // Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + DisplayName *string `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl *string `pulumi:"frontendUrl"` + // \n\n-\n\n + InstanceId *string `pulumi:"instanceId"` + // STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + PlanId *string `pulumi:"planId"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId *string `pulumi:"projectId"` + // STACKIT region to use for the instance, providers defaultRegion will be used if unset. + Region *string `pulumi:"region"` + // instance status + Status *string `pulumi:"status"` +} + +type EdgecloudInstanceState struct { + // The date and time the creation of the instance was triggered. + Created pulumi.StringPtrInput + // Description for your STACKIT Edge Cloud instance. Max length is 256 characters + Description pulumi.StringPtrInput + // Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + DisplayName pulumi.StringPtrInput + // Frontend URL for the Edge Cloud instance. + FrontendUrl pulumi.StringPtrInput + // \n\n-\n\n + InstanceId pulumi.StringPtrInput + // STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + PlanId pulumi.StringPtrInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringPtrInput + // STACKIT region to use for the instance, providers defaultRegion will be used if unset. + Region pulumi.StringPtrInput + // instance status + Status pulumi.StringPtrInput +} + +func (EdgecloudInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudInstanceState)(nil)).Elem() +} + +type edgecloudInstanceArgs struct { + // Description for your STACKIT Edge Cloud instance. Max length is 256 characters + Description *string `pulumi:"description"` + // Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + DisplayName string `pulumi:"displayName"` + // STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + PlanId string `pulumi:"planId"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId string `pulumi:"projectId"` + // STACKIT region to use for the instance, providers defaultRegion will be used if unset. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a EdgecloudInstance resource. +type EdgecloudInstanceArgs struct { + // Description for your STACKIT Edge Cloud instance. Max length is 256 characters + Description pulumi.StringPtrInput + // Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + DisplayName pulumi.StringInput + // STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + PlanId pulumi.StringInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringInput + // STACKIT region to use for the instance, providers defaultRegion will be used if unset. + Region pulumi.StringPtrInput +} + +func (EdgecloudInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudInstanceArgs)(nil)).Elem() +} + +type EdgecloudInstanceInput interface { + pulumi.Input + + ToEdgecloudInstanceOutput() EdgecloudInstanceOutput + ToEdgecloudInstanceOutputWithContext(ctx context.Context) EdgecloudInstanceOutput +} + +func (*EdgecloudInstance) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudInstance)(nil)).Elem() +} + +func (i *EdgecloudInstance) ToEdgecloudInstanceOutput() EdgecloudInstanceOutput { + return i.ToEdgecloudInstanceOutputWithContext(context.Background()) +} + +func (i *EdgecloudInstance) ToEdgecloudInstanceOutputWithContext(ctx context.Context) EdgecloudInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudInstanceOutput) +} + +// EdgecloudInstanceArrayInput is an input type that accepts EdgecloudInstanceArray and EdgecloudInstanceArrayOutput values. +// You can construct a concrete instance of `EdgecloudInstanceArrayInput` via: +// +// EdgecloudInstanceArray{ EdgecloudInstanceArgs{...} } +type EdgecloudInstanceArrayInput interface { + pulumi.Input + + ToEdgecloudInstanceArrayOutput() EdgecloudInstanceArrayOutput + ToEdgecloudInstanceArrayOutputWithContext(context.Context) EdgecloudInstanceArrayOutput +} + +type EdgecloudInstanceArray []EdgecloudInstanceInput + +func (EdgecloudInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudInstance)(nil)).Elem() +} + +func (i EdgecloudInstanceArray) ToEdgecloudInstanceArrayOutput() EdgecloudInstanceArrayOutput { + return i.ToEdgecloudInstanceArrayOutputWithContext(context.Background()) +} + +func (i EdgecloudInstanceArray) ToEdgecloudInstanceArrayOutputWithContext(ctx context.Context) EdgecloudInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudInstanceArrayOutput) +} + +// EdgecloudInstanceMapInput is an input type that accepts EdgecloudInstanceMap and EdgecloudInstanceMapOutput values. +// You can construct a concrete instance of `EdgecloudInstanceMapInput` via: +// +// EdgecloudInstanceMap{ "key": EdgecloudInstanceArgs{...} } +type EdgecloudInstanceMapInput interface { + pulumi.Input + + ToEdgecloudInstanceMapOutput() EdgecloudInstanceMapOutput + ToEdgecloudInstanceMapOutputWithContext(context.Context) EdgecloudInstanceMapOutput +} + +type EdgecloudInstanceMap map[string]EdgecloudInstanceInput + +func (EdgecloudInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudInstance)(nil)).Elem() +} + +func (i EdgecloudInstanceMap) ToEdgecloudInstanceMapOutput() EdgecloudInstanceMapOutput { + return i.ToEdgecloudInstanceMapOutputWithContext(context.Background()) +} + +func (i EdgecloudInstanceMap) ToEdgecloudInstanceMapOutputWithContext(ctx context.Context) EdgecloudInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudInstanceMapOutput) +} + +type EdgecloudInstanceOutput struct{ *pulumi.OutputState } + +func (EdgecloudInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudInstance)(nil)).Elem() +} + +func (o EdgecloudInstanceOutput) ToEdgecloudInstanceOutput() EdgecloudInstanceOutput { + return o +} + +func (o EdgecloudInstanceOutput) ToEdgecloudInstanceOutputWithContext(ctx context.Context) EdgecloudInstanceOutput { + return o +} + +// The date and time the creation of the instance was triggered. +func (o EdgecloudInstanceOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.Created }).(pulumi.StringOutput) +} + +// Description for your STACKIT Edge Cloud instance. Max length is 256 characters +func (o EdgecloudInstanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. +func (o EdgecloudInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Frontend URL for the Edge Cloud instance. +func (o EdgecloudInstanceOutput) FrontendUrl() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.FrontendUrl }).(pulumi.StringOutput) +} + +// \n\n-\n\n +func (o EdgecloudInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. +func (o EdgecloudInstanceOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.PlanId }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the Edge Cloud instance is associated. +func (o EdgecloudInstanceOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region to use for the instance, providers defaultRegion will be used if unset. +func (o EdgecloudInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// instance status +func (o EdgecloudInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type EdgecloudInstanceArrayOutput struct{ *pulumi.OutputState } + +func (EdgecloudInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudInstance)(nil)).Elem() +} + +func (o EdgecloudInstanceArrayOutput) ToEdgecloudInstanceArrayOutput() EdgecloudInstanceArrayOutput { + return o +} + +func (o EdgecloudInstanceArrayOutput) ToEdgecloudInstanceArrayOutputWithContext(ctx context.Context) EdgecloudInstanceArrayOutput { + return o +} + +func (o EdgecloudInstanceArrayOutput) Index(i pulumi.IntInput) EdgecloudInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EdgecloudInstance { + return vs[0].([]*EdgecloudInstance)[vs[1].(int)] + }).(EdgecloudInstanceOutput) +} + +type EdgecloudInstanceMapOutput struct{ *pulumi.OutputState } + +func (EdgecloudInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudInstance)(nil)).Elem() +} + +func (o EdgecloudInstanceMapOutput) ToEdgecloudInstanceMapOutput() EdgecloudInstanceMapOutput { + return o +} + +func (o EdgecloudInstanceMapOutput) ToEdgecloudInstanceMapOutputWithContext(ctx context.Context) EdgecloudInstanceMapOutput { + return o +} + +func (o EdgecloudInstanceMapOutput) MapIndex(k pulumi.StringInput) EdgecloudInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EdgecloudInstance { + return vs[0].(map[string]*EdgecloudInstance)[vs[1].(string)] + }).(EdgecloudInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudInstanceInput)(nil)).Elem(), &EdgecloudInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudInstanceArrayInput)(nil)).Elem(), EdgecloudInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudInstanceMapInput)(nil)).Elem(), EdgecloudInstanceMap{}) + pulumi.RegisterOutputType(EdgecloudInstanceOutput{}) + pulumi.RegisterOutputType(EdgecloudInstanceArrayOutput{}) + pulumi.RegisterOutputType(EdgecloudInstanceMapOutput{}) +} diff --git a/sdk/go/stackit/edgecloudKubeconfig.go b/sdk/go/stackit/edgecloudKubeconfig.go new file mode 100644 index 0000000..92a0d82 --- /dev/null +++ b/sdk/go/stackit/edgecloudKubeconfig.go @@ -0,0 +1,344 @@ +// 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" +) + +// Edge Cloud is in private Beta and not generally available. +// +// You can contact support if you are interested in trying it out. +// +// > This resource 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. +// +// ## Example Usage +type EdgecloudKubeconfig struct { + pulumi.CustomResourceState + + // Date-time when the kubeconfig was created + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntOutput `pulumi:"expiration"` + // Timestamp when the kubeconfig expires + ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrOutput `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"` + // Raw kubeconfig. + Kubeconfig pulumi.StringOutput `pulumi:"kubeconfig"` + KubeconfigId pulumi.StringOutput `pulumi:"kubeconfigId"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the kubeconfig at. + RecreateBefore pulumi.IntPtrOutput `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` +} + +// NewEdgecloudKubeconfig registers a new resource with the given unique name, arguments, and options. +func NewEdgecloudKubeconfig(ctx *pulumi.Context, + name string, args *EdgecloudKubeconfigArgs, opts ...pulumi.ResourceOption) (*EdgecloudKubeconfig, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "kubeconfig", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EdgecloudKubeconfig + err := ctx.RegisterResource("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEdgecloudKubeconfig gets an existing EdgecloudKubeconfig 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 GetEdgecloudKubeconfig(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EdgecloudKubeconfigState, opts ...pulumi.ResourceOption) (*EdgecloudKubeconfig, error) { + var resource EdgecloudKubeconfig + err := ctx.ReadResource("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EdgecloudKubeconfig resources. +type edgecloudKubeconfigState struct { + // Date-time when the kubeconfig was created + CreationTime *string `pulumi:"creationTime"` + // Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration *int `pulumi:"expiration"` + // Timestamp when the kubeconfig expires + ExpiresAt *string `pulumi:"expiresAt"` + // ID of the Edge Cloud instance. + InstanceId *string `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName *string `pulumi:"instanceName"` + // Raw kubeconfig. + Kubeconfig *string `pulumi:"kubeconfig"` + KubeconfigId *string `pulumi:"kubeconfigId"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId *string `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the kubeconfig at. + RecreateBefore *int `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +type EdgecloudKubeconfigState struct { + // Date-time when the kubeconfig was created + CreationTime pulumi.StringPtrInput + // Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntPtrInput + // Timestamp when the kubeconfig expires + ExpiresAt pulumi.StringPtrInput + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrInput + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrInput + // Raw kubeconfig. + Kubeconfig pulumi.StringPtrInput + KubeconfigId pulumi.StringPtrInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringPtrInput + // Number of seconds before expiration to trigger recreation of the kubeconfig at. + RecreateBefore pulumi.IntPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (EdgecloudKubeconfigState) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudKubeconfigState)(nil)).Elem() +} + +type edgecloudKubeconfigArgs struct { + // Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration *int `pulumi:"expiration"` + // ID of the Edge Cloud instance. + InstanceId *string `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName *string `pulumi:"instanceName"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId string `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the kubeconfig at. + RecreateBefore *int `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a EdgecloudKubeconfig resource. +type EdgecloudKubeconfigArgs struct { + // Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntPtrInput + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrInput + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringInput + // Number of seconds before expiration to trigger recreation of the kubeconfig at. + RecreateBefore pulumi.IntPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (EdgecloudKubeconfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudKubeconfigArgs)(nil)).Elem() +} + +type EdgecloudKubeconfigInput interface { + pulumi.Input + + ToEdgecloudKubeconfigOutput() EdgecloudKubeconfigOutput + ToEdgecloudKubeconfigOutputWithContext(ctx context.Context) EdgecloudKubeconfigOutput +} + +func (*EdgecloudKubeconfig) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudKubeconfig)(nil)).Elem() +} + +func (i *EdgecloudKubeconfig) ToEdgecloudKubeconfigOutput() EdgecloudKubeconfigOutput { + return i.ToEdgecloudKubeconfigOutputWithContext(context.Background()) +} + +func (i *EdgecloudKubeconfig) ToEdgecloudKubeconfigOutputWithContext(ctx context.Context) EdgecloudKubeconfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudKubeconfigOutput) +} + +// EdgecloudKubeconfigArrayInput is an input type that accepts EdgecloudKubeconfigArray and EdgecloudKubeconfigArrayOutput values. +// You can construct a concrete instance of `EdgecloudKubeconfigArrayInput` via: +// +// EdgecloudKubeconfigArray{ EdgecloudKubeconfigArgs{...} } +type EdgecloudKubeconfigArrayInput interface { + pulumi.Input + + ToEdgecloudKubeconfigArrayOutput() EdgecloudKubeconfigArrayOutput + ToEdgecloudKubeconfigArrayOutputWithContext(context.Context) EdgecloudKubeconfigArrayOutput +} + +type EdgecloudKubeconfigArray []EdgecloudKubeconfigInput + +func (EdgecloudKubeconfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudKubeconfig)(nil)).Elem() +} + +func (i EdgecloudKubeconfigArray) ToEdgecloudKubeconfigArrayOutput() EdgecloudKubeconfigArrayOutput { + return i.ToEdgecloudKubeconfigArrayOutputWithContext(context.Background()) +} + +func (i EdgecloudKubeconfigArray) ToEdgecloudKubeconfigArrayOutputWithContext(ctx context.Context) EdgecloudKubeconfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudKubeconfigArrayOutput) +} + +// EdgecloudKubeconfigMapInput is an input type that accepts EdgecloudKubeconfigMap and EdgecloudKubeconfigMapOutput values. +// You can construct a concrete instance of `EdgecloudKubeconfigMapInput` via: +// +// EdgecloudKubeconfigMap{ "key": EdgecloudKubeconfigArgs{...} } +type EdgecloudKubeconfigMapInput interface { + pulumi.Input + + ToEdgecloudKubeconfigMapOutput() EdgecloudKubeconfigMapOutput + ToEdgecloudKubeconfigMapOutputWithContext(context.Context) EdgecloudKubeconfigMapOutput +} + +type EdgecloudKubeconfigMap map[string]EdgecloudKubeconfigInput + +func (EdgecloudKubeconfigMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudKubeconfig)(nil)).Elem() +} + +func (i EdgecloudKubeconfigMap) ToEdgecloudKubeconfigMapOutput() EdgecloudKubeconfigMapOutput { + return i.ToEdgecloudKubeconfigMapOutputWithContext(context.Background()) +} + +func (i EdgecloudKubeconfigMap) ToEdgecloudKubeconfigMapOutputWithContext(ctx context.Context) EdgecloudKubeconfigMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudKubeconfigMapOutput) +} + +type EdgecloudKubeconfigOutput struct{ *pulumi.OutputState } + +func (EdgecloudKubeconfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudKubeconfig)(nil)).Elem() +} + +func (o EdgecloudKubeconfigOutput) ToEdgecloudKubeconfigOutput() EdgecloudKubeconfigOutput { + return o +} + +func (o EdgecloudKubeconfigOutput) ToEdgecloudKubeconfigOutputWithContext(ctx context.Context) EdgecloudKubeconfigOutput { + return o +} + +// Date-time when the kubeconfig was created +func (o EdgecloudKubeconfigOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` +func (o EdgecloudKubeconfigOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.IntOutput { return v.Expiration }).(pulumi.IntOutput) +} + +// Timestamp when the kubeconfig expires +func (o EdgecloudKubeconfigOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// ID of the Edge Cloud instance. +func (o EdgecloudKubeconfigOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringPtrOutput { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// Name of the Edge Cloud instance. +func (o EdgecloudKubeconfigOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringPtrOutput { return v.InstanceName }).(pulumi.StringPtrOutput) +} + +// Raw kubeconfig. +func (o EdgecloudKubeconfigOutput) Kubeconfig() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.Kubeconfig }).(pulumi.StringOutput) +} + +func (o EdgecloudKubeconfigOutput) KubeconfigId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.KubeconfigId }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the Edge Cloud instance is associated. +func (o EdgecloudKubeconfigOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// Number of seconds before expiration to trigger recreation of the kubeconfig at. +func (o EdgecloudKubeconfigOutput) RecreateBefore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.IntPtrOutput { return v.RecreateBefore }).(pulumi.IntPtrOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o EdgecloudKubeconfigOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudKubeconfig) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +type EdgecloudKubeconfigArrayOutput struct{ *pulumi.OutputState } + +func (EdgecloudKubeconfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudKubeconfig)(nil)).Elem() +} + +func (o EdgecloudKubeconfigArrayOutput) ToEdgecloudKubeconfigArrayOutput() EdgecloudKubeconfigArrayOutput { + return o +} + +func (o EdgecloudKubeconfigArrayOutput) ToEdgecloudKubeconfigArrayOutputWithContext(ctx context.Context) EdgecloudKubeconfigArrayOutput { + return o +} + +func (o EdgecloudKubeconfigArrayOutput) Index(i pulumi.IntInput) EdgecloudKubeconfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EdgecloudKubeconfig { + return vs[0].([]*EdgecloudKubeconfig)[vs[1].(int)] + }).(EdgecloudKubeconfigOutput) +} + +type EdgecloudKubeconfigMapOutput struct{ *pulumi.OutputState } + +func (EdgecloudKubeconfigMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudKubeconfig)(nil)).Elem() +} + +func (o EdgecloudKubeconfigMapOutput) ToEdgecloudKubeconfigMapOutput() EdgecloudKubeconfigMapOutput { + return o +} + +func (o EdgecloudKubeconfigMapOutput) ToEdgecloudKubeconfigMapOutputWithContext(ctx context.Context) EdgecloudKubeconfigMapOutput { + return o +} + +func (o EdgecloudKubeconfigMapOutput) MapIndex(k pulumi.StringInput) EdgecloudKubeconfigOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EdgecloudKubeconfig { + return vs[0].(map[string]*EdgecloudKubeconfig)[vs[1].(string)] + }).(EdgecloudKubeconfigOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudKubeconfigInput)(nil)).Elem(), &EdgecloudKubeconfig{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudKubeconfigArrayInput)(nil)).Elem(), EdgecloudKubeconfigArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudKubeconfigMapInput)(nil)).Elem(), EdgecloudKubeconfigMap{}) + pulumi.RegisterOutputType(EdgecloudKubeconfigOutput{}) + pulumi.RegisterOutputType(EdgecloudKubeconfigArrayOutput{}) + pulumi.RegisterOutputType(EdgecloudKubeconfigMapOutput{}) +} diff --git a/sdk/go/stackit/edgecloudToken.go b/sdk/go/stackit/edgecloudToken.go new file mode 100644 index 0000000..bf9d231 --- /dev/null +++ b/sdk/go/stackit/edgecloudToken.go @@ -0,0 +1,344 @@ +// 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" +) + +// Edge Cloud is in private Beta and not generally available. +// +// You can contact support if you are interested in trying it out. +// +// > This resource 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. +// +// ## Example Usage +type EdgecloudToken struct { + pulumi.CustomResourceState + + // Date-time when the token was created + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntOutput `pulumi:"expiration"` + // Timestamp when the token expires + ExpiresAt pulumi.StringOutput `pulumi:"expiresAt"` + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrOutput `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrOutput `pulumi:"instanceName"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the token at. + RecreateBefore pulumi.IntPtrOutput `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // Raw token. + Token pulumi.StringOutput `pulumi:"token"` + TokenId pulumi.StringOutput `pulumi:"tokenId"` +} + +// NewEdgecloudToken registers a new resource with the given unique name, arguments, and options. +func NewEdgecloudToken(ctx *pulumi.Context, + name string, args *EdgecloudTokenArgs, opts ...pulumi.ResourceOption) (*EdgecloudToken, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "token", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource EdgecloudToken + err := ctx.RegisterResource("stackit:index/edgecloudToken:EdgecloudToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetEdgecloudToken gets an existing EdgecloudToken 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 GetEdgecloudToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *EdgecloudTokenState, opts ...pulumi.ResourceOption) (*EdgecloudToken, error) { + var resource EdgecloudToken + err := ctx.ReadResource("stackit:index/edgecloudToken:EdgecloudToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering EdgecloudToken resources. +type edgecloudTokenState struct { + // Date-time when the token was created + CreationTime *string `pulumi:"creationTime"` + // Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration *int `pulumi:"expiration"` + // Timestamp when the token expires + ExpiresAt *string `pulumi:"expiresAt"` + // ID of the Edge Cloud instance. + InstanceId *string `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName *string `pulumi:"instanceName"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId *string `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the token at. + RecreateBefore *int `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Raw token. + Token *string `pulumi:"token"` + TokenId *string `pulumi:"tokenId"` +} + +type EdgecloudTokenState struct { + // Date-time when the token was created + CreationTime pulumi.StringPtrInput + // Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntPtrInput + // Timestamp when the token expires + ExpiresAt pulumi.StringPtrInput + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrInput + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringPtrInput + // Number of seconds before expiration to trigger recreation of the token at. + RecreateBefore pulumi.IntPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Raw token. + Token pulumi.StringPtrInput + TokenId pulumi.StringPtrInput +} + +func (EdgecloudTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudTokenState)(nil)).Elem() +} + +type edgecloudTokenArgs struct { + // Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration *int `pulumi:"expiration"` + // ID of the Edge Cloud instance. + InstanceId *string `pulumi:"instanceId"` + // Name of the Edge Cloud instance. + InstanceName *string `pulumi:"instanceName"` + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId string `pulumi:"projectId"` + // Number of seconds before expiration to trigger recreation of the token at. + RecreateBefore *int `pulumi:"recreateBefore"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a EdgecloudToken resource. +type EdgecloudTokenArgs struct { + // Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + Expiration pulumi.IntPtrInput + // ID of the Edge Cloud instance. + InstanceId pulumi.StringPtrInput + // Name of the Edge Cloud instance. + InstanceName pulumi.StringPtrInput + // STACKIT project ID to which the Edge Cloud instance is associated. + ProjectId pulumi.StringInput + // Number of seconds before expiration to trigger recreation of the token at. + RecreateBefore pulumi.IntPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (EdgecloudTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*edgecloudTokenArgs)(nil)).Elem() +} + +type EdgecloudTokenInput interface { + pulumi.Input + + ToEdgecloudTokenOutput() EdgecloudTokenOutput + ToEdgecloudTokenOutputWithContext(ctx context.Context) EdgecloudTokenOutput +} + +func (*EdgecloudToken) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudToken)(nil)).Elem() +} + +func (i *EdgecloudToken) ToEdgecloudTokenOutput() EdgecloudTokenOutput { + return i.ToEdgecloudTokenOutputWithContext(context.Background()) +} + +func (i *EdgecloudToken) ToEdgecloudTokenOutputWithContext(ctx context.Context) EdgecloudTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudTokenOutput) +} + +// EdgecloudTokenArrayInput is an input type that accepts EdgecloudTokenArray and EdgecloudTokenArrayOutput values. +// You can construct a concrete instance of `EdgecloudTokenArrayInput` via: +// +// EdgecloudTokenArray{ EdgecloudTokenArgs{...} } +type EdgecloudTokenArrayInput interface { + pulumi.Input + + ToEdgecloudTokenArrayOutput() EdgecloudTokenArrayOutput + ToEdgecloudTokenArrayOutputWithContext(context.Context) EdgecloudTokenArrayOutput +} + +type EdgecloudTokenArray []EdgecloudTokenInput + +func (EdgecloudTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudToken)(nil)).Elem() +} + +func (i EdgecloudTokenArray) ToEdgecloudTokenArrayOutput() EdgecloudTokenArrayOutput { + return i.ToEdgecloudTokenArrayOutputWithContext(context.Background()) +} + +func (i EdgecloudTokenArray) ToEdgecloudTokenArrayOutputWithContext(ctx context.Context) EdgecloudTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudTokenArrayOutput) +} + +// EdgecloudTokenMapInput is an input type that accepts EdgecloudTokenMap and EdgecloudTokenMapOutput values. +// You can construct a concrete instance of `EdgecloudTokenMapInput` via: +// +// EdgecloudTokenMap{ "key": EdgecloudTokenArgs{...} } +type EdgecloudTokenMapInput interface { + pulumi.Input + + ToEdgecloudTokenMapOutput() EdgecloudTokenMapOutput + ToEdgecloudTokenMapOutputWithContext(context.Context) EdgecloudTokenMapOutput +} + +type EdgecloudTokenMap map[string]EdgecloudTokenInput + +func (EdgecloudTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudToken)(nil)).Elem() +} + +func (i EdgecloudTokenMap) ToEdgecloudTokenMapOutput() EdgecloudTokenMapOutput { + return i.ToEdgecloudTokenMapOutputWithContext(context.Background()) +} + +func (i EdgecloudTokenMap) ToEdgecloudTokenMapOutputWithContext(ctx context.Context) EdgecloudTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(EdgecloudTokenMapOutput) +} + +type EdgecloudTokenOutput struct{ *pulumi.OutputState } + +func (EdgecloudTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**EdgecloudToken)(nil)).Elem() +} + +func (o EdgecloudTokenOutput) ToEdgecloudTokenOutput() EdgecloudTokenOutput { + return o +} + +func (o EdgecloudTokenOutput) ToEdgecloudTokenOutputWithContext(ctx context.Context) EdgecloudTokenOutput { + return o +} + +// Date-time when the token was created +func (o EdgecloudTokenOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` +func (o EdgecloudTokenOutput) Expiration() pulumi.IntOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.IntOutput { return v.Expiration }).(pulumi.IntOutput) +} + +// Timestamp when the token expires +func (o EdgecloudTokenOutput) ExpiresAt() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.ExpiresAt }).(pulumi.StringOutput) +} + +// ID of the Edge Cloud instance. +func (o EdgecloudTokenOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringPtrOutput { return v.InstanceId }).(pulumi.StringPtrOutput) +} + +// Name of the Edge Cloud instance. +func (o EdgecloudTokenOutput) InstanceName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringPtrOutput { return v.InstanceName }).(pulumi.StringPtrOutput) +} + +// STACKIT project ID to which the Edge Cloud instance is associated. +func (o EdgecloudTokenOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// Number of seconds before expiration to trigger recreation of the token at. +func (o EdgecloudTokenOutput) RecreateBefore() pulumi.IntPtrOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.IntPtrOutput { return v.RecreateBefore }).(pulumi.IntPtrOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o EdgecloudTokenOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Raw token. +func (o EdgecloudTokenOutput) Token() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.Token }).(pulumi.StringOutput) +} + +func (o EdgecloudTokenOutput) TokenId() pulumi.StringOutput { + return o.ApplyT(func(v *EdgecloudToken) pulumi.StringOutput { return v.TokenId }).(pulumi.StringOutput) +} + +type EdgecloudTokenArrayOutput struct{ *pulumi.OutputState } + +func (EdgecloudTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*EdgecloudToken)(nil)).Elem() +} + +func (o EdgecloudTokenArrayOutput) ToEdgecloudTokenArrayOutput() EdgecloudTokenArrayOutput { + return o +} + +func (o EdgecloudTokenArrayOutput) ToEdgecloudTokenArrayOutputWithContext(ctx context.Context) EdgecloudTokenArrayOutput { + return o +} + +func (o EdgecloudTokenArrayOutput) Index(i pulumi.IntInput) EdgecloudTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *EdgecloudToken { + return vs[0].([]*EdgecloudToken)[vs[1].(int)] + }).(EdgecloudTokenOutput) +} + +type EdgecloudTokenMapOutput struct{ *pulumi.OutputState } + +func (EdgecloudTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*EdgecloudToken)(nil)).Elem() +} + +func (o EdgecloudTokenMapOutput) ToEdgecloudTokenMapOutput() EdgecloudTokenMapOutput { + return o +} + +func (o EdgecloudTokenMapOutput) ToEdgecloudTokenMapOutputWithContext(ctx context.Context) EdgecloudTokenMapOutput { + return o +} + +func (o EdgecloudTokenMapOutput) MapIndex(k pulumi.StringInput) EdgecloudTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *EdgecloudToken { + return vs[0].(map[string]*EdgecloudToken)[vs[1].(string)] + }).(EdgecloudTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudTokenInput)(nil)).Elem(), &EdgecloudToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudTokenArrayInput)(nil)).Elem(), EdgecloudTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*EdgecloudTokenMapInput)(nil)).Elem(), EdgecloudTokenMap{}) + pulumi.RegisterOutputType(EdgecloudTokenOutput{}) + pulumi.RegisterOutputType(EdgecloudTokenArrayOutput{}) + pulumi.RegisterOutputType(EdgecloudTokenMapOutput{}) +} diff --git a/sdk/go/stackit/getEdgecloudInstances.go b/sdk/go/stackit/getEdgecloudInstances.go new file mode 100644 index 0000000..4087557 --- /dev/null +++ b/sdk/go/stackit/getEdgecloudInstances.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" +) + +// Edge Cloud is in private Beta and not generally available. +// +// You can contact support if you are interested in trying it out. +// +// > 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. +// +// ## Example Usage +func GetEdgecloudInstances(ctx *pulumi.Context, args *GetEdgecloudInstancesArgs, opts ...pulumi.InvokeOption) (*GetEdgecloudInstancesResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetEdgecloudInstancesResult + err := ctx.Invoke("stackit:index/getEdgecloudInstances:getEdgecloudInstances", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getEdgecloudInstances. +type GetEdgecloudInstancesArgs struct { + // STACKIT project ID to which the Edge Cloud instances are associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getEdgecloudInstances. +type GetEdgecloudInstancesResult struct { + Id string `pulumi:"id"` + // A list of Edge Cloud instances. + Instances []GetEdgecloudInstancesInstance `pulumi:"instances"` + // STACKIT project ID to which the Edge Cloud instances are associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +func GetEdgecloudInstancesOutput(ctx *pulumi.Context, args GetEdgecloudInstancesOutputArgs, opts ...pulumi.InvokeOption) GetEdgecloudInstancesResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetEdgecloudInstancesResultOutput, error) { + args := v.(GetEdgecloudInstancesArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getEdgecloudInstances:getEdgecloudInstances", args, GetEdgecloudInstancesResultOutput{}, options).(GetEdgecloudInstancesResultOutput), nil + }).(GetEdgecloudInstancesResultOutput) +} + +// A collection of arguments for invoking getEdgecloudInstances. +type GetEdgecloudInstancesOutputArgs struct { + // STACKIT project ID to which the Edge Cloud instances are associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (GetEdgecloudInstancesOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesArgs)(nil)).Elem() +} + +// A collection of values returned by getEdgecloudInstances. +type GetEdgecloudInstancesResultOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudInstancesResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesResult)(nil)).Elem() +} + +func (o GetEdgecloudInstancesResultOutput) ToGetEdgecloudInstancesResultOutput() GetEdgecloudInstancesResultOutput { + return o +} + +func (o GetEdgecloudInstancesResultOutput) ToGetEdgecloudInstancesResultOutputWithContext(ctx context.Context) GetEdgecloudInstancesResultOutput { + return o +} + +func (o GetEdgecloudInstancesResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A list of Edge Cloud instances. +func (o GetEdgecloudInstancesResultOutput) Instances() GetEdgecloudInstancesInstanceArrayOutput { + return o.ApplyT(func(v GetEdgecloudInstancesResult) []GetEdgecloudInstancesInstance { return v.Instances }).(GetEdgecloudInstancesInstanceArrayOutput) +} + +// STACKIT project ID to which the Edge Cloud instances are associated. +func (o GetEdgecloudInstancesResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o GetEdgecloudInstancesResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetEdgecloudInstancesResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(GetEdgecloudInstancesResultOutput{}) +} diff --git a/sdk/go/stackit/getEdgecloudPlans.go b/sdk/go/stackit/getEdgecloudPlans.go new file mode 100644 index 0000000..7a86c80 --- /dev/null +++ b/sdk/go/stackit/getEdgecloudPlans.go @@ -0,0 +1,96 @@ +// 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" +) + +// Edge Cloud is in private Beta and not generally available. +// +// You can contact support if you are interested in trying it out. +// +// > 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. +// +// ## Example Usage +func GetEdgecloudPlans(ctx *pulumi.Context, args *GetEdgecloudPlansArgs, opts ...pulumi.InvokeOption) (*GetEdgecloudPlansResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetEdgecloudPlansResult + err := ctx.Invoke("stackit:index/getEdgecloudPlans:getEdgecloudPlans", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getEdgecloudPlans. +type GetEdgecloudPlansArgs struct { + // STACKIT project ID the Plans belongs to. + ProjectId string `pulumi:"projectId"` +} + +// A collection of values returned by getEdgecloudPlans. +type GetEdgecloudPlansResult struct { + Id string `pulumi:"id"` + // A list of Edge Cloud Plans. + Plans []GetEdgecloudPlansPlan `pulumi:"plans"` + // STACKIT project ID the Plans belongs to. + ProjectId string `pulumi:"projectId"` +} + +func GetEdgecloudPlansOutput(ctx *pulumi.Context, args GetEdgecloudPlansOutputArgs, opts ...pulumi.InvokeOption) GetEdgecloudPlansResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetEdgecloudPlansResultOutput, error) { + args := v.(GetEdgecloudPlansArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getEdgecloudPlans:getEdgecloudPlans", args, GetEdgecloudPlansResultOutput{}, options).(GetEdgecloudPlansResultOutput), nil + }).(GetEdgecloudPlansResultOutput) +} + +// A collection of arguments for invoking getEdgecloudPlans. +type GetEdgecloudPlansOutputArgs struct { + // STACKIT project ID the Plans belongs to. + ProjectId pulumi.StringInput `pulumi:"projectId"` +} + +func (GetEdgecloudPlansOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansArgs)(nil)).Elem() +} + +// A collection of values returned by getEdgecloudPlans. +type GetEdgecloudPlansResultOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudPlansResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansResult)(nil)).Elem() +} + +func (o GetEdgecloudPlansResultOutput) ToGetEdgecloudPlansResultOutput() GetEdgecloudPlansResultOutput { + return o +} + +func (o GetEdgecloudPlansResultOutput) ToGetEdgecloudPlansResultOutputWithContext(ctx context.Context) GetEdgecloudPlansResultOutput { + return o +} + +func (o GetEdgecloudPlansResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansResult) string { return v.Id }).(pulumi.StringOutput) +} + +// A list of Edge Cloud Plans. +func (o GetEdgecloudPlansResultOutput) Plans() GetEdgecloudPlansPlanArrayOutput { + return o.ApplyT(func(v GetEdgecloudPlansResult) []GetEdgecloudPlansPlan { return v.Plans }).(GetEdgecloudPlansPlanArrayOutput) +} + +// STACKIT project ID the Plans belongs to. +func (o GetEdgecloudPlansResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(GetEdgecloudPlansResultOutput{}) +} diff --git a/sdk/go/stackit/getLogsInstance.go b/sdk/go/stackit/getLogsInstance.go new file mode 100644 index 0000000..8089156 --- /dev/null +++ b/sdk/go/stackit/getLogsInstance.go @@ -0,0 +1,186 @@ +// 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" +) + +// Logs instance data source schema. +// +// > 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. +// +// ## Example Usage +func LookupLogsInstance(ctx *pulumi.Context, args *LookupLogsInstanceArgs, opts ...pulumi.InvokeOption) (*LookupLogsInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupLogsInstanceResult + err := ctx.Invoke("stackit:index/getLogsInstance:getLogsInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getLogsInstance. +type LookupLogsInstanceArgs struct { + // The Logs instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the Logs instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getLogsInstance. +type LookupLogsInstanceResult struct { + // The access control list entries for the Logs instance + Acls []string `pulumi:"acls"` + // The date and time the creation of the Logs instance was initiated + Created string `pulumi:"created"` + // Logs instance datasource URL, can be used in Grafana as datasource URL + DatasourceUrl string `pulumi:"datasourceUrl"` + // The description of the Logs instance + Description string `pulumi:"description"` + // The displayed name of the Logs instance + DisplayName string `pulumi:"displayName"` + Id string `pulumi:"id"` + // The Logs instance's ingest logs via OTLP URL + IngestOtlpUrl string `pulumi:"ingestOtlpUrl"` + // The logs instance's ingest logs URL + IngestUrl string `pulumi:"ingestUrl"` + // The Logs instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the Logs instance + ProjectId string `pulumi:"projectId"` + // The Logs instance's query range URL + QueryRangeUrl string `pulumi:"queryRangeUrl"` + // The Logs instance's query URL + QueryUrl string `pulumi:"queryUrl"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The log retention time in days + RetentionDays int `pulumi:"retentionDays"` + // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + Status string `pulumi:"status"` +} + +func LookupLogsInstanceOutput(ctx *pulumi.Context, args LookupLogsInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupLogsInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupLogsInstanceResultOutput, error) { + args := v.(LookupLogsInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getLogsInstance:getLogsInstance", args, LookupLogsInstanceResultOutput{}, options).(LookupLogsInstanceResultOutput), nil + }).(LookupLogsInstanceResultOutput) +} + +// A collection of arguments for invoking getLogsInstance. +type LookupLogsInstanceOutputArgs struct { + // The Logs instance ID + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT project ID associated with the Logs instance + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupLogsInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupLogsInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getLogsInstance. +type LookupLogsInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupLogsInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupLogsInstanceResult)(nil)).Elem() +} + +func (o LookupLogsInstanceResultOutput) ToLookupLogsInstanceResultOutput() LookupLogsInstanceResultOutput { + return o +} + +func (o LookupLogsInstanceResultOutput) ToLookupLogsInstanceResultOutputWithContext(ctx context.Context) LookupLogsInstanceResultOutput { + return o +} + +// The access control list entries for the Logs instance +func (o LookupLogsInstanceResultOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) []string { return v.Acls }).(pulumi.StringArrayOutput) +} + +// The date and time the creation of the Logs instance was initiated +func (o LookupLogsInstanceResultOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.Created }).(pulumi.StringOutput) +} + +// Logs instance datasource URL, can be used in Grafana as datasource URL +func (o LookupLogsInstanceResultOutput) DatasourceUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.DatasourceUrl }).(pulumi.StringOutput) +} + +// The description of the Logs instance +func (o LookupLogsInstanceResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The displayed name of the Logs instance +func (o LookupLogsInstanceResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +func (o LookupLogsInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The Logs instance's ingest logs via OTLP URL +func (o LookupLogsInstanceResultOutput) IngestOtlpUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.IngestOtlpUrl }).(pulumi.StringOutput) +} + +// The logs instance's ingest logs URL +func (o LookupLogsInstanceResultOutput) IngestUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.IngestUrl }).(pulumi.StringOutput) +} + +// The Logs instance ID +func (o LookupLogsInstanceResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the Logs instance +func (o LookupLogsInstanceResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The Logs instance's query range URL +func (o LookupLogsInstanceResultOutput) QueryRangeUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.QueryRangeUrl }).(pulumi.StringOutput) +} + +// The Logs instance's query URL +func (o LookupLogsInstanceResultOutput) QueryUrl() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.QueryUrl }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupLogsInstanceResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// The log retention time in days +func (o LookupLogsInstanceResultOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) int { return v.RetentionDays }).(pulumi.IntOutput) +} + +// The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. +func (o LookupLogsInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupLogsInstanceResultOutput{}) +} diff --git a/sdk/go/stackit/getRoutingTable.go b/sdk/go/stackit/getRoutingTable.go index 25cff8b..9716267 100644 --- a/sdk/go/stackit/getRoutingTable.go +++ b/sdk/go/stackit/getRoutingTable.go @@ -46,7 +46,9 @@ type LookupRoutingTableResult struct { Default bool `pulumi:"default"` // Description of the routing table. Description string `pulumi:"description"` - Id string `pulumi:"id"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes bool `pulumi:"dynamicRoutes"` + Id string `pulumi:"id"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the routing table. @@ -120,6 +122,11 @@ func (o LookupRoutingTableResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupRoutingTableResult) string { return v.Description }).(pulumi.StringOutput) } +// This controls whether dynamic routes are propagated to this routing table +func (o LookupRoutingTableResultOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v LookupRoutingTableResult) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + func (o LookupRoutingTableResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupRoutingTableResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getVolume.go b/sdk/go/stackit/getVolume.go index 39b9fab..7555947 100644 --- a/sdk/go/stackit/getVolume.go +++ b/sdk/go/stackit/getVolume.go @@ -40,7 +40,9 @@ type LookupVolumeResult struct { AvailabilityZone string `pulumi:"availabilityZone"` // The description of the volume. Description string `pulumi:"description"` - Id string `pulumi:"id"` + // Indicates if the volume is encrypted. + Encrypted bool `pulumi:"encrypted"` + Id string `pulumi:"id"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the volume. @@ -109,6 +111,11 @@ func (o LookupVolumeResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.Description }).(pulumi.StringOutput) } +// Indicates if the volume is encrypted. +func (o LookupVolumeResultOutput) Encrypted() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVolumeResult) bool { return v.Encrypted }).(pulumi.BoolOutput) +} + func (o LookupVolumeResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.Id }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index 486f516..5c0a088 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -35,6 +35,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DnsRecordSet{} case "stackit:index/dnsZone:DnsZone": r = &DnsZone{} + case "stackit:index/edgecloudInstance:EdgecloudInstance": + r = &EdgecloudInstance{} + case "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": + r = &EdgecloudKubeconfig{} + case "stackit:index/edgecloudToken:EdgecloudToken": + r = &EdgecloudToken{} case "stackit:index/git:Git": r = &Git{} case "stackit:index/image:Image": @@ -55,6 +61,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &LogmeCredential{} case "stackit:index/logmeInstance:LogmeInstance": r = &LogmeInstance{} + case "stackit:index/logsInstance:LogsInstance": + r = &LogsInstance{} case "stackit:index/mariadbCredential:MariadbCredential": r = &MariadbCredential{} case "stackit:index/mariadbInstance:MariadbInstance": @@ -233,6 +241,21 @@ func init() { "index/dnsZone", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/edgecloudInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/edgecloudKubeconfig", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/edgecloudToken", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/git", @@ -283,6 +306,11 @@ func init() { "index/logmeInstance", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/logsInstance", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/mariadbCredential", diff --git a/sdk/go/stackit/logsInstance.go b/sdk/go/stackit/logsInstance.go new file mode 100644 index 0000000..3c4dbe0 --- /dev/null +++ b/sdk/go/stackit/logsInstance.go @@ -0,0 +1,392 @@ +// 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" +) + +// Logs instance resource schema. +// +// > This resource 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. +// +// ## Example Usage +type LogsInstance struct { + pulumi.CustomResourceState + + // The access control list entries for the Logs instance + Acls pulumi.StringArrayOutput `pulumi:"acls"` + // The date and time the creation of the Logs instance was initiated + Created pulumi.StringOutput `pulumi:"created"` + // Logs instance datasource URL, can be used in Grafana as datasource URL + DatasourceUrl pulumi.StringOutput `pulumi:"datasourceUrl"` + // The description of the Logs instance + Description pulumi.StringPtrOutput `pulumi:"description"` + // The displayed name of the Logs instance + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The Logs instance's ingest logs via OTLP URL + IngestOtlpUrl pulumi.StringOutput `pulumi:"ingestOtlpUrl"` + // The logs instance's ingest logs URL + IngestUrl pulumi.StringOutput `pulumi:"ingestUrl"` + // The Logs instance ID + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT project ID associated with the Logs instance + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The Logs instance's query range URL + QueryRangeUrl pulumi.StringOutput `pulumi:"queryRangeUrl"` + // The Logs instance's query URL + QueryUrl pulumi.StringOutput `pulumi:"queryUrl"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The log retention time in days + RetentionDays pulumi.IntOutput `pulumi:"retentionDays"` + // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewLogsInstance registers a new resource with the given unique name, arguments, and options. +func NewLogsInstance(ctx *pulumi.Context, + name string, args *LogsInstanceArgs, opts ...pulumi.ResourceOption) (*LogsInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.RetentionDays == nil { + return nil, errors.New("invalid value for required argument 'RetentionDays'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource LogsInstance + err := ctx.RegisterResource("stackit:index/logsInstance:LogsInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetLogsInstance gets an existing LogsInstance 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 GetLogsInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *LogsInstanceState, opts ...pulumi.ResourceOption) (*LogsInstance, error) { + var resource LogsInstance + err := ctx.ReadResource("stackit:index/logsInstance:LogsInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering LogsInstance resources. +type logsInstanceState struct { + // The access control list entries for the Logs instance + Acls []string `pulumi:"acls"` + // The date and time the creation of the Logs instance was initiated + Created *string `pulumi:"created"` + // Logs instance datasource URL, can be used in Grafana as datasource URL + DatasourceUrl *string `pulumi:"datasourceUrl"` + // The description of the Logs instance + Description *string `pulumi:"description"` + // The displayed name of the Logs instance + DisplayName *string `pulumi:"displayName"` + // The Logs instance's ingest logs via OTLP URL + IngestOtlpUrl *string `pulumi:"ingestOtlpUrl"` + // The logs instance's ingest logs URL + IngestUrl *string `pulumi:"ingestUrl"` + // The Logs instance ID + InstanceId *string `pulumi:"instanceId"` + // STACKIT project ID associated with the Logs instance + ProjectId *string `pulumi:"projectId"` + // The Logs instance's query range URL + QueryRangeUrl *string `pulumi:"queryRangeUrl"` + // The Logs instance's query URL + QueryUrl *string `pulumi:"queryUrl"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The log retention time in days + RetentionDays *int `pulumi:"retentionDays"` + // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + Status *string `pulumi:"status"` +} + +type LogsInstanceState struct { + // The access control list entries for the Logs instance + Acls pulumi.StringArrayInput + // The date and time the creation of the Logs instance was initiated + Created pulumi.StringPtrInput + // Logs instance datasource URL, can be used in Grafana as datasource URL + DatasourceUrl pulumi.StringPtrInput + // The description of the Logs instance + Description pulumi.StringPtrInput + // The displayed name of the Logs instance + DisplayName pulumi.StringPtrInput + // The Logs instance's ingest logs via OTLP URL + IngestOtlpUrl pulumi.StringPtrInput + // The logs instance's ingest logs URL + IngestUrl pulumi.StringPtrInput + // The Logs instance ID + InstanceId pulumi.StringPtrInput + // STACKIT project ID associated with the Logs instance + ProjectId pulumi.StringPtrInput + // The Logs instance's query range URL + QueryRangeUrl pulumi.StringPtrInput + // The Logs instance's query URL + QueryUrl pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The log retention time in days + RetentionDays pulumi.IntPtrInput + // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + Status pulumi.StringPtrInput +} + +func (LogsInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*logsInstanceState)(nil)).Elem() +} + +type logsInstanceArgs struct { + // The access control list entries for the Logs instance + Acls []string `pulumi:"acls"` + // The description of the Logs instance + Description *string `pulumi:"description"` + // The displayed name of the Logs instance + DisplayName string `pulumi:"displayName"` + // STACKIT project ID associated with the Logs instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The log retention time in days + RetentionDays int `pulumi:"retentionDays"` +} + +// The set of arguments for constructing a LogsInstance resource. +type LogsInstanceArgs struct { + // The access control list entries for the Logs instance + Acls pulumi.StringArrayInput + // The description of the Logs instance + Description pulumi.StringPtrInput + // The displayed name of the Logs instance + DisplayName pulumi.StringInput + // STACKIT project ID associated with the Logs instance + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The log retention time in days + RetentionDays pulumi.IntInput +} + +func (LogsInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*logsInstanceArgs)(nil)).Elem() +} + +type LogsInstanceInput interface { + pulumi.Input + + ToLogsInstanceOutput() LogsInstanceOutput + ToLogsInstanceOutputWithContext(ctx context.Context) LogsInstanceOutput +} + +func (*LogsInstance) ElementType() reflect.Type { + return reflect.TypeOf((**LogsInstance)(nil)).Elem() +} + +func (i *LogsInstance) ToLogsInstanceOutput() LogsInstanceOutput { + return i.ToLogsInstanceOutputWithContext(context.Background()) +} + +func (i *LogsInstance) ToLogsInstanceOutputWithContext(ctx context.Context) LogsInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsInstanceOutput) +} + +// LogsInstanceArrayInput is an input type that accepts LogsInstanceArray and LogsInstanceArrayOutput values. +// You can construct a concrete instance of `LogsInstanceArrayInput` via: +// +// LogsInstanceArray{ LogsInstanceArgs{...} } +type LogsInstanceArrayInput interface { + pulumi.Input + + ToLogsInstanceArrayOutput() LogsInstanceArrayOutput + ToLogsInstanceArrayOutputWithContext(context.Context) LogsInstanceArrayOutput +} + +type LogsInstanceArray []LogsInstanceInput + +func (LogsInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsInstance)(nil)).Elem() +} + +func (i LogsInstanceArray) ToLogsInstanceArrayOutput() LogsInstanceArrayOutput { + return i.ToLogsInstanceArrayOutputWithContext(context.Background()) +} + +func (i LogsInstanceArray) ToLogsInstanceArrayOutputWithContext(ctx context.Context) LogsInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsInstanceArrayOutput) +} + +// LogsInstanceMapInput is an input type that accepts LogsInstanceMap and LogsInstanceMapOutput values. +// You can construct a concrete instance of `LogsInstanceMapInput` via: +// +// LogsInstanceMap{ "key": LogsInstanceArgs{...} } +type LogsInstanceMapInput interface { + pulumi.Input + + ToLogsInstanceMapOutput() LogsInstanceMapOutput + ToLogsInstanceMapOutputWithContext(context.Context) LogsInstanceMapOutput +} + +type LogsInstanceMap map[string]LogsInstanceInput + +func (LogsInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsInstance)(nil)).Elem() +} + +func (i LogsInstanceMap) ToLogsInstanceMapOutput() LogsInstanceMapOutput { + return i.ToLogsInstanceMapOutputWithContext(context.Background()) +} + +func (i LogsInstanceMap) ToLogsInstanceMapOutputWithContext(ctx context.Context) LogsInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogsInstanceMapOutput) +} + +type LogsInstanceOutput struct{ *pulumi.OutputState } + +func (LogsInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogsInstance)(nil)).Elem() +} + +func (o LogsInstanceOutput) ToLogsInstanceOutput() LogsInstanceOutput { + return o +} + +func (o LogsInstanceOutput) ToLogsInstanceOutputWithContext(ctx context.Context) LogsInstanceOutput { + return o +} + +// The access control list entries for the Logs instance +func (o LogsInstanceOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringArrayOutput { return v.Acls }).(pulumi.StringArrayOutput) +} + +// The date and time the creation of the Logs instance was initiated +func (o LogsInstanceOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.Created }).(pulumi.StringOutput) +} + +// Logs instance datasource URL, can be used in Grafana as datasource URL +func (o LogsInstanceOutput) DatasourceUrl() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.DatasourceUrl }).(pulumi.StringOutput) +} + +// The description of the Logs instance +func (o LogsInstanceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The displayed name of the Logs instance +func (o LogsInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The Logs instance's ingest logs via OTLP URL +func (o LogsInstanceOutput) IngestOtlpUrl() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.IngestOtlpUrl }).(pulumi.StringOutput) +} + +// The logs instance's ingest logs URL +func (o LogsInstanceOutput) IngestUrl() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.IngestUrl }).(pulumi.StringOutput) +} + +// The Logs instance ID +func (o LogsInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the Logs instance +func (o LogsInstanceOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The Logs instance's query range URL +func (o LogsInstanceOutput) QueryRangeUrl() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.QueryRangeUrl }).(pulumi.StringOutput) +} + +// The Logs instance's query URL +func (o LogsInstanceOutput) QueryUrl() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.QueryUrl }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LogsInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The log retention time in days +func (o LogsInstanceOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.IntOutput { return v.RetentionDays }).(pulumi.IntOutput) +} + +// The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. +func (o LogsInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type LogsInstanceArrayOutput struct{ *pulumi.OutputState } + +func (LogsInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*LogsInstance)(nil)).Elem() +} + +func (o LogsInstanceArrayOutput) ToLogsInstanceArrayOutput() LogsInstanceArrayOutput { + return o +} + +func (o LogsInstanceArrayOutput) ToLogsInstanceArrayOutputWithContext(ctx context.Context) LogsInstanceArrayOutput { + return o +} + +func (o LogsInstanceArrayOutput) Index(i pulumi.IntInput) LogsInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LogsInstance { + return vs[0].([]*LogsInstance)[vs[1].(int)] + }).(LogsInstanceOutput) +} + +type LogsInstanceMapOutput struct{ *pulumi.OutputState } + +func (LogsInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*LogsInstance)(nil)).Elem() +} + +func (o LogsInstanceMapOutput) ToLogsInstanceMapOutput() LogsInstanceMapOutput { + return o +} + +func (o LogsInstanceMapOutput) ToLogsInstanceMapOutputWithContext(ctx context.Context) LogsInstanceMapOutput { + return o +} + +func (o LogsInstanceMapOutput) MapIndex(k pulumi.StringInput) LogsInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LogsInstance { + return vs[0].(map[string]*LogsInstance)[vs[1].(string)] + }).(LogsInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*LogsInstanceInput)(nil)).Elem(), &LogsInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsInstanceArrayInput)(nil)).Elem(), LogsInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*LogsInstanceMapInput)(nil)).Elem(), LogsInstanceMap{}) + pulumi.RegisterOutputType(LogsInstanceOutput{}) + pulumi.RegisterOutputType(LogsInstanceArrayOutput{}) + pulumi.RegisterOutputType(LogsInstanceMapOutput{}) +} diff --git a/sdk/go/stackit/networkArea.go b/sdk/go/stackit/networkArea.go index 8125b0f..885bbac 100644 --- a/sdk/go/stackit/networkArea.go +++ b/sdk/go/stackit/networkArea.go @@ -12,9 +12,6 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Network area resource schema. -// -// ## Example Usage type NetworkArea struct { pulumi.CustomResourceState diff --git a/sdk/go/stackit/postgresflexUser.go b/sdk/go/stackit/postgresflexUser.go index fd738c3..4f1315d 100644 --- a/sdk/go/stackit/postgresflexUser.go +++ b/sdk/go/stackit/postgresflexUser.go @@ -27,7 +27,7 @@ type PostgresflexUser struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` - // Database access levels for the user. Possible values are: `login`, `createdb`. + // Database access levels for the user. Roles pulumi.StringArrayOutput `pulumi:"roles"` Uri pulumi.StringOutput `pulumi:"uri"` // User ID. @@ -91,7 +91,7 @@ type postgresflexUserState struct { ProjectId *string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` - // Database access levels for the user. Possible values are: `login`, `createdb`. + // Database access levels for the user. Roles []string `pulumi:"roles"` Uri *string `pulumi:"uri"` // User ID. @@ -109,7 +109,7 @@ type PostgresflexUserState struct { ProjectId pulumi.StringPtrInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput - // Database access levels for the user. Possible values are: `login`, `createdb`. + // Database access levels for the user. Roles pulumi.StringArrayInput Uri pulumi.StringPtrInput // User ID. @@ -128,7 +128,7 @@ type postgresflexUserArgs struct { ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` - // Database access levels for the user. Possible values are: `login`, `createdb`. + // Database access levels for the user. Roles []string `pulumi:"roles"` Username string `pulumi:"username"` } @@ -141,7 +141,7 @@ type PostgresflexUserArgs struct { ProjectId pulumi.StringInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput - // Database access levels for the user. Possible values are: `login`, `createdb`. + // Database access levels for the user. Roles pulumi.StringArrayInput Username pulumi.StringInput } @@ -260,7 +260,7 @@ func (o PostgresflexUserOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// Database access levels for the user. Possible values are: `login`, `createdb`. +// Database access levels for the user. func (o PostgresflexUserOutput) Roles() pulumi.StringArrayOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) } diff --git a/sdk/go/stackit/provider.go b/sdk/go/stackit/provider.go index ac8fb4f..f715170 100644 --- a/sdk/go/stackit/provider.go +++ b/sdk/go/stackit/provider.go @@ -28,6 +28,8 @@ type Provider struct { DefaultRegion pulumi.StringPtrOutput `pulumi:"defaultRegion"` // Custom endpoint for the DNS service DnsCustomEndpoint pulumi.StringPtrOutput `pulumi:"dnsCustomEndpoint"` + // Custom endpoint for the Edge Cloud service + EdgecloudCustomEndpoint pulumi.StringPtrOutput `pulumi:"edgecloudCustomEndpoint"` // Custom endpoint for the Git service GitCustomEndpoint pulumi.StringPtrOutput `pulumi:"gitCustomEndpoint"` // Custom endpoint for the IaaS service @@ -38,6 +40,8 @@ type Provider struct { LoadbalancerCustomEndpoint pulumi.StringPtrOutput `pulumi:"loadbalancerCustomEndpoint"` // Custom endpoint for the LogMe service LogmeCustomEndpoint pulumi.StringPtrOutput `pulumi:"logmeCustomEndpoint"` + // Custom endpoint for the Logs service + LogsCustomEndpoint pulumi.StringPtrOutput `pulumi:"logsCustomEndpoint"` // Custom endpoint for the MariaDB service MariadbCustomEndpoint pulumi.StringPtrOutput `pulumi:"mariadbCustomEndpoint"` // Custom endpoint for the AI Model Serving service @@ -127,6 +131,8 @@ type providerArgs struct { DefaultRegion *string `pulumi:"defaultRegion"` // Custom endpoint for the DNS service DnsCustomEndpoint *string `pulumi:"dnsCustomEndpoint"` + // Custom endpoint for the Edge Cloud service + EdgecloudCustomEndpoint *string `pulumi:"edgecloudCustomEndpoint"` // Enable beta resources. Default is false. EnableBetaResources *bool `pulumi:"enableBetaResources"` // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network @@ -141,6 +147,8 @@ type providerArgs struct { LoadbalancerCustomEndpoint *string `pulumi:"loadbalancerCustomEndpoint"` // Custom endpoint for the LogMe service LogmeCustomEndpoint *string `pulumi:"logmeCustomEndpoint"` + // Custom endpoint for the Logs service + LogsCustomEndpoint *string `pulumi:"logsCustomEndpoint"` // Custom endpoint for the MariaDB service MariadbCustomEndpoint *string `pulumi:"mariadbCustomEndpoint"` // Custom endpoint for the AI Model Serving service @@ -215,6 +223,8 @@ type ProviderArgs struct { DefaultRegion pulumi.StringPtrInput // Custom endpoint for the DNS service DnsCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Edge Cloud service + EdgecloudCustomEndpoint pulumi.StringPtrInput // Enable beta resources. Default is false. EnableBetaResources pulumi.BoolPtrInput // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network @@ -229,6 +239,8 @@ type ProviderArgs struct { LoadbalancerCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the LogMe service LogmeCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Logs service + LogsCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the MariaDB service MariadbCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the AI Model Serving service @@ -376,6 +388,11 @@ func (o ProviderOutput) DnsCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.DnsCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Edge Cloud service +func (o ProviderOutput) EdgecloudCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.EdgecloudCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the Git service func (o ProviderOutput) GitCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.GitCustomEndpoint }).(pulumi.StringPtrOutput) @@ -401,6 +418,11 @@ func (o ProviderOutput) LogmeCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.LogmeCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Logs service +func (o ProviderOutput) LogsCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.LogsCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the MariaDB service func (o ProviderOutput) MariadbCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.MariadbCustomEndpoint }).(pulumi.StringPtrOutput) diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index acc6516..0c70f01 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -12392,6 +12392,261 @@ func (o SqlserverflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } +type VolumeEncryptionParameters struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId string `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion int `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId string `pulumi:"kekKeyringId"` + // Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + KeyPayloadBase64 *string `pulumi:"keyPayloadBase64"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + KeyPayloadBase64Wo *string `pulumi:"keyPayloadBase64Wo"` + // Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. + KeyPayloadBase64WoVersion *int `pulumi:"keyPayloadBase64WoVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount string `pulumi:"serviceAccount"` +} + +// VolumeEncryptionParametersInput is an input type that accepts VolumeEncryptionParametersArgs and VolumeEncryptionParametersOutput values. +// You can construct a concrete instance of `VolumeEncryptionParametersInput` via: +// +// VolumeEncryptionParametersArgs{...} +type VolumeEncryptionParametersInput interface { + pulumi.Input + + ToVolumeEncryptionParametersOutput() VolumeEncryptionParametersOutput + ToVolumeEncryptionParametersOutputWithContext(context.Context) VolumeEncryptionParametersOutput +} + +type VolumeEncryptionParametersArgs struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KekKeyId pulumi.StringInput `pulumi:"kekKeyId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KekKeyVersion pulumi.IntInput `pulumi:"kekKeyVersion"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KekKeyringId pulumi.StringInput `pulumi:"kekKeyringId"` + // Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + KeyPayloadBase64 pulumi.StringPtrInput `pulumi:"keyPayloadBase64"` + // **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + // Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + KeyPayloadBase64Wo pulumi.StringPtrInput `pulumi:"keyPayloadBase64Wo"` + // Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. + KeyPayloadBase64WoVersion pulumi.IntPtrInput `pulumi:"keyPayloadBase64WoVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccount pulumi.StringInput `pulumi:"serviceAccount"` +} + +func (VolumeEncryptionParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeEncryptionParameters)(nil)).Elem() +} + +func (i VolumeEncryptionParametersArgs) ToVolumeEncryptionParametersOutput() VolumeEncryptionParametersOutput { + return i.ToVolumeEncryptionParametersOutputWithContext(context.Background()) +} + +func (i VolumeEncryptionParametersArgs) ToVolumeEncryptionParametersOutputWithContext(ctx context.Context) VolumeEncryptionParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeEncryptionParametersOutput) +} + +func (i VolumeEncryptionParametersArgs) ToVolumeEncryptionParametersPtrOutput() VolumeEncryptionParametersPtrOutput { + return i.ToVolumeEncryptionParametersPtrOutputWithContext(context.Background()) +} + +func (i VolumeEncryptionParametersArgs) ToVolumeEncryptionParametersPtrOutputWithContext(ctx context.Context) VolumeEncryptionParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeEncryptionParametersOutput).ToVolumeEncryptionParametersPtrOutputWithContext(ctx) +} + +// VolumeEncryptionParametersPtrInput is an input type that accepts VolumeEncryptionParametersArgs, VolumeEncryptionParametersPtr and VolumeEncryptionParametersPtrOutput values. +// You can construct a concrete instance of `VolumeEncryptionParametersPtrInput` via: +// +// VolumeEncryptionParametersArgs{...} +// +// or: +// +// nil +type VolumeEncryptionParametersPtrInput interface { + pulumi.Input + + ToVolumeEncryptionParametersPtrOutput() VolumeEncryptionParametersPtrOutput + ToVolumeEncryptionParametersPtrOutputWithContext(context.Context) VolumeEncryptionParametersPtrOutput +} + +type volumeEncryptionParametersPtrType VolumeEncryptionParametersArgs + +func VolumeEncryptionParametersPtr(v *VolumeEncryptionParametersArgs) VolumeEncryptionParametersPtrInput { + return (*volumeEncryptionParametersPtrType)(v) +} + +func (*volumeEncryptionParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeEncryptionParameters)(nil)).Elem() +} + +func (i *volumeEncryptionParametersPtrType) ToVolumeEncryptionParametersPtrOutput() VolumeEncryptionParametersPtrOutput { + return i.ToVolumeEncryptionParametersPtrOutputWithContext(context.Background()) +} + +func (i *volumeEncryptionParametersPtrType) ToVolumeEncryptionParametersPtrOutputWithContext(ctx context.Context) VolumeEncryptionParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeEncryptionParametersPtrOutput) +} + +type VolumeEncryptionParametersOutput struct{ *pulumi.OutputState } + +func (VolumeEncryptionParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeEncryptionParameters)(nil)).Elem() +} + +func (o VolumeEncryptionParametersOutput) ToVolumeEncryptionParametersOutput() VolumeEncryptionParametersOutput { + return o +} + +func (o VolumeEncryptionParametersOutput) ToVolumeEncryptionParametersOutputWithContext(ctx context.Context) VolumeEncryptionParametersOutput { + return o +} + +func (o VolumeEncryptionParametersOutput) ToVolumeEncryptionParametersPtrOutput() VolumeEncryptionParametersPtrOutput { + return o.ToVolumeEncryptionParametersPtrOutputWithContext(context.Background()) +} + +func (o VolumeEncryptionParametersOutput) ToVolumeEncryptionParametersPtrOutputWithContext(ctx context.Context) VolumeEncryptionParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeEncryptionParameters) *VolumeEncryptionParameters { + return &v + }).(VolumeEncryptionParametersPtrOutput) +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o VolumeEncryptionParametersOutput) KekKeyId() pulumi.StringOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) string { return v.KekKeyId }).(pulumi.StringOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o VolumeEncryptionParametersOutput) KekKeyVersion() pulumi.IntOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) int { return v.KekKeyVersion }).(pulumi.IntOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o VolumeEncryptionParametersOutput) KekKeyringId() pulumi.StringOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) string { return v.KekKeyringId }).(pulumi.StringOutput) +} + +// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. +func (o VolumeEncryptionParametersOutput) KeyPayloadBase64() pulumi.StringPtrOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) *string { return v.KeyPayloadBase64 }).(pulumi.StringPtrOutput) +} + +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. +func (o VolumeEncryptionParametersOutput) KeyPayloadBase64Wo() pulumi.StringPtrOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) *string { return v.KeyPayloadBase64Wo }).(pulumi.StringPtrOutput) +} + +// Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. +func (o VolumeEncryptionParametersOutput) KeyPayloadBase64WoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) *int { return v.KeyPayloadBase64WoVersion }).(pulumi.IntPtrOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o VolumeEncryptionParametersOutput) ServiceAccount() pulumi.StringOutput { + return o.ApplyT(func(v VolumeEncryptionParameters) string { return v.ServiceAccount }).(pulumi.StringOutput) +} + +type VolumeEncryptionParametersPtrOutput struct{ *pulumi.OutputState } + +func (VolumeEncryptionParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeEncryptionParameters)(nil)).Elem() +} + +func (o VolumeEncryptionParametersPtrOutput) ToVolumeEncryptionParametersPtrOutput() VolumeEncryptionParametersPtrOutput { + return o +} + +func (o VolumeEncryptionParametersPtrOutput) ToVolumeEncryptionParametersPtrOutputWithContext(ctx context.Context) VolumeEncryptionParametersPtrOutput { + return o +} + +func (o VolumeEncryptionParametersPtrOutput) Elem() VolumeEncryptionParametersOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) VolumeEncryptionParameters { + if v != nil { + return *v + } + var ret VolumeEncryptionParameters + return ret + }).(VolumeEncryptionParametersOutput) +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o VolumeEncryptionParametersPtrOutput) KekKeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *string { + if v == nil { + return nil + } + return &v.KekKeyId + }).(pulumi.StringPtrOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o VolumeEncryptionParametersPtrOutput) KekKeyVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *int { + if v == nil { + return nil + } + return &v.KekKeyVersion + }).(pulumi.IntPtrOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o VolumeEncryptionParametersPtrOutput) KekKeyringId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *string { + if v == nil { + return nil + } + return &v.KekKeyringId + }).(pulumi.StringPtrOutput) +} + +// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. +func (o VolumeEncryptionParametersPtrOutput) KeyPayloadBase64() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *string { + if v == nil { + return nil + } + return v.KeyPayloadBase64 + }).(pulumi.StringPtrOutput) +} + +// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. +// Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. +func (o VolumeEncryptionParametersPtrOutput) KeyPayloadBase64Wo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *string { + if v == nil { + return nil + } + return v.KeyPayloadBase64Wo + }).(pulumi.StringPtrOutput) +} + +// Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. +func (o VolumeEncryptionParametersPtrOutput) KeyPayloadBase64WoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *int { + if v == nil { + return nil + } + return v.KeyPayloadBase64WoVersion + }).(pulumi.IntPtrOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o VolumeEncryptionParametersPtrOutput) ServiceAccount() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeEncryptionParameters) *string { + if v == nil { + return nil + } + return &v.ServiceAccount + }).(pulumi.StringPtrOutput) +} + type VolumeSource struct { // The ID of the source, e.g. image ID Id string `pulumi:"id"` @@ -13016,6 +13271,290 @@ func (o GetCdnDistributionDomainArrayOutput) Index(i pulumi.IntInput) GetCdnDist }).(GetCdnDistributionDomainOutput) } +type GetEdgecloudInstancesInstance struct { + // The date and time the instance was created. + Created string `pulumi:"created"` + // Description of the instance. + Description string `pulumi:"description"` + // The display name of the instance. + DisplayName string `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl string `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId string `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId string `pulumi:"planId"` + // The region where the instance is located. + Region string `pulumi:"region"` + // The status of the instance. + Status string `pulumi:"status"` +} + +// GetEdgecloudInstancesInstanceInput is an input type that accepts GetEdgecloudInstancesInstanceArgs and GetEdgecloudInstancesInstanceOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceInput` via: +// +// GetEdgecloudInstancesInstanceArgs{...} +type GetEdgecloudInstancesInstanceInput interface { + pulumi.Input + + ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput + ToGetEdgecloudInstancesInstanceOutputWithContext(context.Context) GetEdgecloudInstancesInstanceOutput +} + +type GetEdgecloudInstancesInstanceArgs struct { + // The date and time the instance was created. + Created pulumi.StringInput `pulumi:"created"` + // Description of the instance. + Description pulumi.StringInput `pulumi:"description"` + // The display name of the instance. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl pulumi.StringInput `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId pulumi.StringInput `pulumi:"planId"` + // The region where the instance is located. + Region pulumi.StringInput `pulumi:"region"` + // The status of the instance. + Status pulumi.StringInput `pulumi:"status"` +} + +func (GetEdgecloudInstancesInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +} + +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { + return i.ToGetEdgecloudInstancesInstanceOutputWithContext(context.Background()) +} + +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceOutput) +} + +// GetEdgecloudInstancesInstanceArrayInput is an input type that accepts GetEdgecloudInstancesInstanceArray and GetEdgecloudInstancesInstanceArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceArrayInput` via: +// +// GetEdgecloudInstancesInstanceArray{ GetEdgecloudInstancesInstanceArgs{...} } +type GetEdgecloudInstancesInstanceArrayInput interface { + pulumi.Input + + ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput + ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Context) GetEdgecloudInstancesInstanceArrayOutput +} + +type GetEdgecloudInstancesInstanceArray []GetEdgecloudInstancesInstanceInput + +func (GetEdgecloudInstancesInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +} + +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { + return i.ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Background()) +} + +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceArrayOutput) +} + +type GetEdgecloudInstancesInstanceOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudInstancesInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +} + +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { + return o +} + +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { + return o +} + +// The date and time the instance was created. +func (o GetEdgecloudInstancesInstanceOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Created }).(pulumi.StringOutput) +} + +// Description of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Description }).(pulumi.StringOutput) +} + +// The display name of the instance. +func (o GetEdgecloudInstancesInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Frontend URL for the Edge Cloud instance. +func (o GetEdgecloudInstancesInstanceOutput) FrontendUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.FrontendUrl }).(pulumi.StringOutput) +} + +// The ID of the instance. +func (o GetEdgecloudInstancesInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// The plan ID for the instance. +func (o GetEdgecloudInstancesInstanceOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.PlanId }).(pulumi.StringOutput) +} + +// The region where the instance is located. +func (o GetEdgecloudInstancesInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Region }).(pulumi.StringOutput) +} + +// The status of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Status }).(pulumi.StringOutput) +} + +type GetEdgecloudInstancesInstanceArrayOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudInstancesInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +} + +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { + return o +} + +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { + return o +} + +func (o GetEdgecloudInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetEdgecloudInstancesInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudInstancesInstance { + return vs[0].([]GetEdgecloudInstancesInstance)[vs[1].(int)] + }).(GetEdgecloudInstancesInstanceOutput) +} + +type GetEdgecloudPlansPlan struct { + // Description of the plan. + Description string `pulumi:"description"` + // The ID of the plan. + Id string `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts int `pulumi:"maxEdgeHosts"` + // The name of the plan. + Name string `pulumi:"name"` +} + +// GetEdgecloudPlansPlanInput is an input type that accepts GetEdgecloudPlansPlanArgs and GetEdgecloudPlansPlanOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanInput` via: +// +// GetEdgecloudPlansPlanArgs{...} +type GetEdgecloudPlansPlanInput interface { + pulumi.Input + + ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput + ToGetEdgecloudPlansPlanOutputWithContext(context.Context) GetEdgecloudPlansPlanOutput +} + +type GetEdgecloudPlansPlanArgs struct { + // Description of the plan. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the plan. + Id pulumi.StringInput `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts pulumi.IntInput `pulumi:"maxEdgeHosts"` + // The name of the plan. + Name pulumi.StringInput `pulumi:"name"` +} + +func (GetEdgecloudPlansPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() +} + +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return i.ToGetEdgecloudPlansPlanOutputWithContext(context.Background()) +} + +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanOutput) +} + +// GetEdgecloudPlansPlanArrayInput is an input type that accepts GetEdgecloudPlansPlanArray and GetEdgecloudPlansPlanArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanArrayInput` via: +// +// GetEdgecloudPlansPlanArray{ GetEdgecloudPlansPlanArgs{...} } +type GetEdgecloudPlansPlanArrayInput interface { + pulumi.Input + + ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput + ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Context) GetEdgecloudPlansPlanArrayOutput +} + +type GetEdgecloudPlansPlanArray []GetEdgecloudPlansPlanInput + +func (GetEdgecloudPlansPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +} + +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { + return i.ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Background()) +} + +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanArrayOutput) +} + +type GetEdgecloudPlansPlanOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudPlansPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() +} + +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return o +} + +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return o +} + +// Description of the plan. +func (o GetEdgecloudPlansPlanOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Description }).(pulumi.StringOutput) +} + +// The ID of the plan. +func (o GetEdgecloudPlansPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Id }).(pulumi.StringOutput) +} + +// Maximum number of Edge Cloud hosts that can be used. +func (o GetEdgecloudPlansPlanOutput) MaxEdgeHosts() pulumi.IntOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MaxEdgeHosts }).(pulumi.IntOutput) +} + +// The name of the plan. +func (o GetEdgecloudPlansPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Name }).(pulumi.StringOutput) +} + +type GetEdgecloudPlansPlanArrayOutput struct{ *pulumi.OutputState } + +func (GetEdgecloudPlansPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +} + +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { + return o +} + +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { + return o +} + +func (o GetEdgecloudPlansPlanArrayOutput) Index(i pulumi.IntInput) GetEdgecloudPlansPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudPlansPlan { + return vs[0].([]GetEdgecloudPlansPlan)[vs[1].(int)] + }).(GetEdgecloudPlansPlanOutput) +} + type GetImageChecksum struct { // Algorithm for the checksum of the image data. Algorithm string `pulumi:"algorithm"` @@ -18484,6 +19023,8 @@ type GetRoutingTablesItem struct { Default bool `pulumi:"default"` // Description of the routing table. Description string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes bool `pulumi:"dynamicRoutes"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the routing table. @@ -18514,6 +19055,8 @@ type GetRoutingTablesItemArgs struct { Default pulumi.BoolInput `pulumi:"default"` // Description of the routing table. Description pulumi.StringInput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolInput `pulumi:"dynamicRoutes"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput `pulumi:"labels"` // The name of the routing table. @@ -18592,6 +19135,11 @@ func (o GetRoutingTablesItemOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Description }).(pulumi.StringOutput) } +// This controls whether dynamic routes are propagated to this routing table +func (o GetRoutingTablesItemOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o GetRoutingTablesItemOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v GetRoutingTablesItem) map[string]string { return v.Labels }).(pulumi.StringMapOutput) @@ -20857,6 +21405,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceOptionsPtrInput)(nil)).Elem(), SqlserverflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceStorageInput)(nil)).Elem(), SqlserverflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceStoragePtrInput)(nil)).Elem(), SqlserverflexInstanceStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersPtrInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourceInput)(nil)).Elem(), VolumeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourcePtrInput)(nil)).Elem(), VolumeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCdnCustomDomainCertificateInput)(nil)).Elem(), GetCdnCustomDomainCertificateArgs{}) @@ -20866,6 +21416,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionConfigOptimizerInput)(nil)).Elem(), GetCdnDistributionConfigOptimizerArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionDomainInput)(nil)).Elem(), GetCdnDistributionDomainArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetCdnDistributionDomainArrayInput)(nil)).Elem(), GetCdnDistributionDomainArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudInstancesInstanceInput)(nil)).Elem(), GetEdgecloudInstancesInstanceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudInstancesInstanceArrayInput)(nil)).Elem(), GetEdgecloudInstancesInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudPlansPlanInput)(nil)).Elem(), GetEdgecloudPlansPlanArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudPlansPlanArrayInput)(nil)).Elem(), GetEdgecloudPlansPlanArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageChecksumInput)(nil)).Elem(), GetImageChecksumArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageConfigInput)(nil)).Elem(), GetImageConfigArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetImageV2ChecksumInput)(nil)).Elem(), GetImageV2ChecksumArgs{}) @@ -21108,6 +21662,8 @@ func init() { pulumi.RegisterOutputType(SqlserverflexInstanceOptionsPtrOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceStorageOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceStoragePtrOutput{}) + pulumi.RegisterOutputType(VolumeEncryptionParametersOutput{}) + pulumi.RegisterOutputType(VolumeEncryptionParametersPtrOutput{}) pulumi.RegisterOutputType(VolumeSourceOutput{}) pulumi.RegisterOutputType(VolumeSourcePtrOutput{}) pulumi.RegisterOutputType(GetCdnCustomDomainCertificateOutput{}) @@ -21117,6 +21673,10 @@ func init() { pulumi.RegisterOutputType(GetCdnDistributionConfigOptimizerOutput{}) pulumi.RegisterOutputType(GetCdnDistributionDomainOutput{}) pulumi.RegisterOutputType(GetCdnDistributionDomainArrayOutput{}) + pulumi.RegisterOutputType(GetEdgecloudInstancesInstanceOutput{}) + pulumi.RegisterOutputType(GetEdgecloudInstancesInstanceArrayOutput{}) + pulumi.RegisterOutputType(GetEdgecloudPlansPlanOutput{}) + pulumi.RegisterOutputType(GetEdgecloudPlansPlanArrayOutput{}) pulumi.RegisterOutputType(GetImageChecksumOutput{}) pulumi.RegisterOutputType(GetImageConfigOutput{}) pulumi.RegisterOutputType(GetImageV2ChecksumOutput{}) diff --git a/sdk/go/stackit/routingTable.go b/sdk/go/stackit/routingTable.go index 217c6a6..a5c6b24 100644 --- a/sdk/go/stackit/routingTable.go +++ b/sdk/go/stackit/routingTable.go @@ -24,6 +24,8 @@ type RoutingTable struct { CreatedAt pulumi.StringOutput `pulumi:"createdAt"` // Description of the routing table. Description pulumi.StringOutput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolOutput `pulumi:"dynamicRoutes"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` // The name of the routing table. @@ -82,6 +84,8 @@ type routingTableState struct { CreatedAt *string `pulumi:"createdAt"` // Description of the routing table. Description *string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes *bool `pulumi:"dynamicRoutes"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the routing table. @@ -105,6 +109,8 @@ type RoutingTableState struct { CreatedAt pulumi.StringPtrInput // Description of the routing table. Description pulumi.StringPtrInput + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the routing table. @@ -130,6 +136,8 @@ func (RoutingTableState) ElementType() reflect.Type { type routingTableArgs struct { // Description of the routing table. Description *string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes *bool `pulumi:"dynamicRoutes"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the routing table. @@ -148,6 +156,8 @@ type routingTableArgs struct { type RoutingTableArgs struct { // Description of the routing table. Description pulumi.StringPtrInput + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the routing table. @@ -259,6 +269,11 @@ func (o RoutingTableOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *RoutingTable) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } +// This controls whether dynamic routes are propagated to this routing table +func (o RoutingTableOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v *RoutingTable) pulumi.BoolOutput { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o RoutingTableOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *RoutingTable) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) diff --git a/sdk/go/stackit/volume.go b/sdk/go/stackit/volume.go index 51470dc..5826341 100644 --- a/sdk/go/stackit/volume.go +++ b/sdk/go/stackit/volume.go @@ -12,8 +12,6 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Volume resource schema. Must have a `region` specified in the provider configuration. -// // ## Example Usage type Volume struct { pulumi.CustomResourceState @@ -22,6 +20,9 @@ type Volume struct { AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // The description of the volume. Description pulumi.StringOutput `pulumi:"description"` + // Indicates if the volume is encrypted. + Encrypted pulumi.BoolOutput `pulumi:"encrypted"` + EncryptionParameters VolumeEncryptionParametersPtrOutput `pulumi:"encryptionParameters"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` // The name of the volume. @@ -82,6 +83,9 @@ type volumeState struct { AvailabilityZone *string `pulumi:"availabilityZone"` // The description of the volume. Description *string `pulumi:"description"` + // Indicates if the volume is encrypted. + Encrypted *bool `pulumi:"encrypted"` + EncryptionParameters *VolumeEncryptionParameters `pulumi:"encryptionParameters"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the volume. @@ -107,6 +111,9 @@ type VolumeState struct { AvailabilityZone pulumi.StringPtrInput // The description of the volume. Description pulumi.StringPtrInput + // Indicates if the volume is encrypted. + Encrypted pulumi.BoolPtrInput + EncryptionParameters VolumeEncryptionParametersPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the volume. @@ -135,7 +142,8 @@ type volumeArgs struct { // The availability zone of the volume. AvailabilityZone string `pulumi:"availabilityZone"` // The description of the volume. - Description *string `pulumi:"description"` + Description *string `pulumi:"description"` + EncryptionParameters *VolumeEncryptionParameters `pulumi:"encryptionParameters"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The name of the volume. @@ -157,7 +165,8 @@ type VolumeArgs struct { // The availability zone of the volume. AvailabilityZone pulumi.StringInput // The description of the volume. - Description pulumi.StringPtrInput + Description pulumi.StringPtrInput + EncryptionParameters VolumeEncryptionParametersPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The name of the volume. @@ -271,6 +280,15 @@ func (o VolumeOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) } +// Indicates if the volume is encrypted. +func (o VolumeOutput) Encrypted() pulumi.BoolOutput { + return o.ApplyT(func(v *Volume) pulumi.BoolOutput { return v.Encrypted }).(pulumi.BoolOutput) +} + +func (o VolumeOutput) EncryptionParameters() VolumeEncryptionParametersPtrOutput { + return o.ApplyT(func(v *Volume) VolumeEncryptionParametersPtrOutput { return v.EncryptionParameters }).(VolumeEncryptionParametersPtrOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o VolumeOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *Volume) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index f67cc0e..f294fbf 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -62,6 +62,17 @@ Object.defineProperty(exports, "dnsCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Edge Cloud service + */ +export declare const edgecloudCustomEndpoint: string | undefined; +Object.defineProperty(exports, "edgecloudCustomEndpoint", { + get() { + return __config.get("edgecloudCustomEndpoint"); + }, + enumerable: true, +}); + /** * Enable beta resources. Default is false. */ @@ -139,6 +150,17 @@ Object.defineProperty(exports, "logmeCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Logs service + */ +export declare const logsCustomEndpoint: string | undefined; +Object.defineProperty(exports, "logsCustomEndpoint", { + get() { + return __config.get("logsCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the MariaDB service */ diff --git a/sdk/nodejs/edgecloudInstance.ts b/sdk/nodejs/edgecloudInstance.ts new file mode 100644 index 0000000..fc7ade1 --- /dev/null +++ b/sdk/nodejs/edgecloudInstance.ts @@ -0,0 +1,194 @@ +// *** 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"; + +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > This resource 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. + * + * ## Example Usage + */ +export class EdgecloudInstance extends pulumi.CustomResource { + /** + * Get an existing EdgecloudInstance 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?: EdgecloudInstanceState, opts?: pulumi.CustomResourceOptions): EdgecloudInstance { + return new EdgecloudInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/edgecloudInstance:EdgecloudInstance'; + + /** + * Returns true if the given object is an instance of EdgecloudInstance. 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 EdgecloudInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EdgecloudInstance.__pulumiType; + } + + /** + * The date and time the creation of the instance was triggered. + */ + declare public /*out*/ readonly created: pulumi.Output; + /** + * Description for your STACKIT Edge Cloud instance. Max length is 256 characters + */ + declare public readonly description: pulumi.Output; + /** + * Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + */ + declare public readonly displayName: pulumi.Output; + /** + * Frontend URL for the Edge Cloud instance. + */ + declare public /*out*/ readonly frontendUrl: pulumi.Output; + /** + * \n\n-\n\n + */ + declare public /*out*/ readonly instanceId: pulumi.Output; + /** + * STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + */ + declare public readonly planId: pulumi.Output; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region to use for the instance, providers defaultRegion will be used if unset. + */ + declare public readonly region: pulumi.Output; + /** + * instance status + */ + declare public /*out*/ readonly status: pulumi.Output; + + /** + * Create a EdgecloudInstance 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: EdgecloudInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EdgecloudInstanceArgs | EdgecloudInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EdgecloudInstanceState | undefined; + resourceInputs["created"] = state?.created; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["frontendUrl"] = state?.frontendUrl; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["planId"] = state?.planId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["status"] = state?.status; + } else { + const args = argsOrState as EdgecloudInstanceArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.planId === undefined && !opts.urn) { + throw new Error("Missing required property 'planId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["planId"] = args?.planId; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["created"] = undefined /*out*/; + resourceInputs["frontendUrl"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(EdgecloudInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EdgecloudInstance resources. + */ +export interface EdgecloudInstanceState { + /** + * The date and time the creation of the instance was triggered. + */ + created?: pulumi.Input; + /** + * Description for your STACKIT Edge Cloud instance. Max length is 256 characters + */ + description?: pulumi.Input; + /** + * Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + */ + displayName?: pulumi.Input; + /** + * Frontend URL for the Edge Cloud instance. + */ + frontendUrl?: pulumi.Input; + /** + * \n\n-\n\n + */ + instanceId?: pulumi.Input; + /** + * STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + */ + planId?: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId?: pulumi.Input; + /** + * STACKIT region to use for the instance, providers defaultRegion will be used if unset. + */ + region?: pulumi.Input; + /** + * instance status + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EdgecloudInstance resource. + */ +export interface EdgecloudInstanceArgs { + /** + * Description for your STACKIT Edge Cloud instance. Max length is 256 characters + */ + description?: pulumi.Input; + /** + * Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + */ + displayName: pulumi.Input; + /** + * STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + */ + planId: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId: pulumi.Input; + /** + * STACKIT region to use for the instance, providers defaultRegion will be used if unset. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/edgecloudKubeconfig.ts b/sdk/nodejs/edgecloudKubeconfig.ts new file mode 100644 index 0000000..6251082 --- /dev/null +++ b/sdk/nodejs/edgecloudKubeconfig.ts @@ -0,0 +1,198 @@ +// *** 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"; + +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > This resource 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. + * + * ## Example Usage + */ +export class EdgecloudKubeconfig extends pulumi.CustomResource { + /** + * Get an existing EdgecloudKubeconfig 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?: EdgecloudKubeconfigState, opts?: pulumi.CustomResourceOptions): EdgecloudKubeconfig { + return new EdgecloudKubeconfig(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig'; + + /** + * Returns true if the given object is an instance of EdgecloudKubeconfig. 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 EdgecloudKubeconfig { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EdgecloudKubeconfig.__pulumiType; + } + + /** + * Date-time when the kubeconfig was created + */ + declare public /*out*/ readonly creationTime: pulumi.Output; + /** + * Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + declare public readonly expiration: pulumi.Output; + /** + * Timestamp when the kubeconfig expires + */ + declare public /*out*/ readonly expiresAt: pulumi.Output; + /** + * ID of the Edge Cloud instance. + */ + declare public readonly instanceId: pulumi.Output; + /** + * Name of the Edge Cloud instance. + */ + declare public readonly instanceName: pulumi.Output; + /** + * Raw kubeconfig. + */ + declare public /*out*/ readonly kubeconfig: pulumi.Output; + declare public /*out*/ readonly kubeconfigId: pulumi.Output; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * Number of seconds before expiration to trigger recreation of the kubeconfig at. + */ + declare public readonly recreateBefore: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + + /** + * Create a EdgecloudKubeconfig 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: EdgecloudKubeconfigArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EdgecloudKubeconfigArgs | EdgecloudKubeconfigState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EdgecloudKubeconfigState | undefined; + resourceInputs["creationTime"] = state?.creationTime; + resourceInputs["expiration"] = state?.expiration; + resourceInputs["expiresAt"] = state?.expiresAt; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["instanceName"] = state?.instanceName; + resourceInputs["kubeconfig"] = state?.kubeconfig; + resourceInputs["kubeconfigId"] = state?.kubeconfigId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["recreateBefore"] = state?.recreateBefore; + resourceInputs["region"] = state?.region; + } else { + const args = argsOrState as EdgecloudKubeconfigArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["expiration"] = args?.expiration; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["instanceName"] = args?.instanceName; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["recreateBefore"] = args?.recreateBefore; + resourceInputs["region"] = args?.region; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["expiresAt"] = undefined /*out*/; + resourceInputs["kubeconfig"] = undefined /*out*/; + resourceInputs["kubeconfigId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["kubeconfig"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(EdgecloudKubeconfig.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EdgecloudKubeconfig resources. + */ +export interface EdgecloudKubeconfigState { + /** + * Date-time when the kubeconfig was created + */ + creationTime?: pulumi.Input; + /** + * Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + expiration?: pulumi.Input; + /** + * Timestamp when the kubeconfig expires + */ + expiresAt?: pulumi.Input; + /** + * ID of the Edge Cloud instance. + */ + instanceId?: pulumi.Input; + /** + * Name of the Edge Cloud instance. + */ + instanceName?: pulumi.Input; + /** + * Raw kubeconfig. + */ + kubeconfig?: pulumi.Input; + kubeconfigId?: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId?: pulumi.Input; + /** + * Number of seconds before expiration to trigger recreation of the kubeconfig at. + */ + recreateBefore?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EdgecloudKubeconfig resource. + */ +export interface EdgecloudKubeconfigArgs { + /** + * Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + expiration?: pulumi.Input; + /** + * ID of the Edge Cloud instance. + */ + instanceId?: pulumi.Input; + /** + * Name of the Edge Cloud instance. + */ + instanceName?: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId: pulumi.Input; + /** + * Number of seconds before expiration to trigger recreation of the kubeconfig at. + */ + recreateBefore?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/edgecloudToken.ts b/sdk/nodejs/edgecloudToken.ts new file mode 100644 index 0000000..46e3870 --- /dev/null +++ b/sdk/nodejs/edgecloudToken.ts @@ -0,0 +1,198 @@ +// *** 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"; + +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > This resource 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. + * + * ## Example Usage + */ +export class EdgecloudToken extends pulumi.CustomResource { + /** + * Get an existing EdgecloudToken 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?: EdgecloudTokenState, opts?: pulumi.CustomResourceOptions): EdgecloudToken { + return new EdgecloudToken(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/edgecloudToken:EdgecloudToken'; + + /** + * Returns true if the given object is an instance of EdgecloudToken. 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 EdgecloudToken { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === EdgecloudToken.__pulumiType; + } + + /** + * Date-time when the token was created + */ + declare public /*out*/ readonly creationTime: pulumi.Output; + /** + * Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + declare public readonly expiration: pulumi.Output; + /** + * Timestamp when the token expires + */ + declare public /*out*/ readonly expiresAt: pulumi.Output; + /** + * ID of the Edge Cloud instance. + */ + declare public readonly instanceId: pulumi.Output; + /** + * Name of the Edge Cloud instance. + */ + declare public readonly instanceName: pulumi.Output; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * Number of seconds before expiration to trigger recreation of the token at. + */ + declare public readonly recreateBefore: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * Raw token. + */ + declare public /*out*/ readonly token: pulumi.Output; + declare public /*out*/ readonly tokenId: pulumi.Output; + + /** + * Create a EdgecloudToken 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: EdgecloudTokenArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: EdgecloudTokenArgs | EdgecloudTokenState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as EdgecloudTokenState | undefined; + resourceInputs["creationTime"] = state?.creationTime; + resourceInputs["expiration"] = state?.expiration; + resourceInputs["expiresAt"] = state?.expiresAt; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["instanceName"] = state?.instanceName; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["recreateBefore"] = state?.recreateBefore; + resourceInputs["region"] = state?.region; + resourceInputs["token"] = state?.token; + resourceInputs["tokenId"] = state?.tokenId; + } else { + const args = argsOrState as EdgecloudTokenArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["expiration"] = args?.expiration; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["instanceName"] = args?.instanceName; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["recreateBefore"] = args?.recreateBefore; + resourceInputs["region"] = args?.region; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["expiresAt"] = undefined /*out*/; + resourceInputs["token"] = undefined /*out*/; + resourceInputs["tokenId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["token"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(EdgecloudToken.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering EdgecloudToken resources. + */ +export interface EdgecloudTokenState { + /** + * Date-time when the token was created + */ + creationTime?: pulumi.Input; + /** + * Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + expiration?: pulumi.Input; + /** + * Timestamp when the token expires + */ + expiresAt?: pulumi.Input; + /** + * ID of the Edge Cloud instance. + */ + instanceId?: pulumi.Input; + /** + * Name of the Edge Cloud instance. + */ + instanceName?: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId?: pulumi.Input; + /** + * Number of seconds before expiration to trigger recreation of the token at. + */ + recreateBefore?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Raw token. + */ + token?: pulumi.Input; + tokenId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a EdgecloudToken resource. + */ +export interface EdgecloudTokenArgs { + /** + * Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + */ + expiration?: pulumi.Input; + /** + * ID of the Edge Cloud instance. + */ + instanceId?: pulumi.Input; + /** + * Name of the Edge Cloud instance. + */ + instanceName?: pulumi.Input; + /** + * STACKIT project ID to which the Edge Cloud instance is associated. + */ + projectId: pulumi.Input; + /** + * Number of seconds before expiration to trigger recreation of the token at. + */ + recreateBefore?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getEdgecloudInstances.ts b/sdk/nodejs/getEdgecloudInstances.ts new file mode 100644 index 0000000..918eeb6 --- /dev/null +++ b/sdk/nodejs/getEdgecloudInstances.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 inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > 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. + * + * ## Example Usage + */ +export function getEdgecloudInstances(args: GetEdgecloudInstancesArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getEdgecloudInstances:getEdgecloudInstances", { + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getEdgecloudInstances. + */ +export interface GetEdgecloudInstancesArgs { + /** + * STACKIT project ID to which the Edge Cloud instances are associated. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getEdgecloudInstances. + */ +export interface GetEdgecloudInstancesResult { + readonly id: string; + /** + * A list of Edge Cloud instances. + */ + readonly instances: outputs.GetEdgecloudInstancesInstance[]; + /** + * STACKIT project ID to which the Edge Cloud instances are associated. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; +} +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > 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. + * + * ## Example Usage + */ +export function getEdgecloudInstancesOutput(args: GetEdgecloudInstancesOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getEdgecloudInstances:getEdgecloudInstances", { + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getEdgecloudInstances. + */ +export interface GetEdgecloudInstancesOutputArgs { + /** + * STACKIT project ID to which the Edge Cloud instances are associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getEdgecloudPlans.ts b/sdk/nodejs/getEdgecloudPlans.ts new file mode 100644 index 0000000..e6d6241 --- /dev/null +++ b/sdk/nodejs/getEdgecloudPlans.ts @@ -0,0 +1,71 @@ +// *** 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"; + +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > 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. + * + * ## Example Usage + */ +export function getEdgecloudPlans(args: GetEdgecloudPlansArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getEdgecloudPlans:getEdgecloudPlans", { + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getEdgecloudPlans. + */ +export interface GetEdgecloudPlansArgs { + /** + * STACKIT project ID the Plans belongs to. + */ + projectId: string; +} + +/** + * A collection of values returned by getEdgecloudPlans. + */ +export interface GetEdgecloudPlansResult { + readonly id: string; + /** + * A list of Edge Cloud Plans. + */ + readonly plans: outputs.GetEdgecloudPlansPlan[]; + /** + * STACKIT project ID the Plans belongs to. + */ + readonly projectId: string; +} +/** + * Edge Cloud is in private Beta and not generally available. + * You can contact support if you are interested in trying it out. + * + * > 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. + * + * ## Example Usage + */ +export function getEdgecloudPlansOutput(args: GetEdgecloudPlansOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getEdgecloudPlans:getEdgecloudPlans", { + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getEdgecloudPlans. + */ +export interface GetEdgecloudPlansOutputArgs { + /** + * STACKIT project ID the Plans belongs to. + */ + projectId: pulumi.Input; +} diff --git a/sdk/nodejs/getLogsInstance.ts b/sdk/nodejs/getLogsInstance.ts new file mode 100644 index 0000000..4a13abb --- /dev/null +++ b/sdk/nodejs/getLogsInstance.ts @@ -0,0 +1,135 @@ +// *** 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"; + +/** + * Logs instance data source schema. + * + * > 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. + * + * ## Example Usage + */ +export function getLogsInstance(args: GetLogsInstanceArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getLogsInstance:getLogsInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getLogsInstance. + */ +export interface GetLogsInstanceArgs { + /** + * The Logs instance ID + */ + instanceId: string; + /** + * STACKIT project ID associated with the Logs instance + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getLogsInstance. + */ +export interface GetLogsInstanceResult { + /** + * The access control list entries for the Logs instance + */ + readonly acls: string[]; + /** + * The date and time the creation of the Logs instance was initiated + */ + readonly created: string; + /** + * Logs instance datasource URL, can be used in Grafana as datasource URL + */ + readonly datasourceUrl: string; + /** + * The description of the Logs instance + */ + readonly description: string; + /** + * The displayed name of the Logs instance + */ + readonly displayName: string; + readonly id: string; + /** + * The Logs instance's ingest logs via OTLP URL + */ + readonly ingestOtlpUrl: string; + /** + * The logs instance's ingest logs URL + */ + readonly ingestUrl: string; + /** + * The Logs instance ID + */ + readonly instanceId: string; + /** + * STACKIT project ID associated with the Logs instance + */ + readonly projectId: string; + /** + * The Logs instance's query range URL + */ + readonly queryRangeUrl: string; + /** + * The Logs instance's query URL + */ + readonly queryUrl: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; + /** + * The log retention time in days + */ + readonly retentionDays: number; + /** + * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + */ + readonly status: string; +} +/** + * Logs instance data source schema. + * + * > 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. + * + * ## Example Usage + */ +export function getLogsInstanceOutput(args: GetLogsInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getLogsInstance:getLogsInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getLogsInstance. + */ +export interface GetLogsInstanceOutputArgs { + /** + * The Logs instance ID + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the Logs instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getRoutingTable.ts b/sdk/nodejs/getRoutingTable.ts index 5afc77b..a6889d9 100644 --- a/sdk/nodejs/getRoutingTable.ts +++ b/sdk/nodejs/getRoutingTable.ts @@ -59,6 +59,10 @@ export interface GetRoutingTableResult { * Description of the routing table. */ readonly description: string; + /** + * This controls whether dynamic routes are propagated to this routing table + */ + readonly dynamicRoutes: boolean; readonly id: string; /** * Labels are key-value string pairs which can be attached to a resource container diff --git a/sdk/nodejs/getVolume.ts b/sdk/nodejs/getVolume.ts index b65410c..a025f84 100644 --- a/sdk/nodejs/getVolume.ts +++ b/sdk/nodejs/getVolume.ts @@ -50,6 +50,10 @@ export interface GetVolumeResult { * The description of the volume. */ readonly description: string; + /** + * Indicates if the volume is encrypted. + */ + readonly encrypted: boolean; readonly id: string; /** * Labels are key-value string pairs which can be attached to a resource container diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index b153459..505b477 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -40,6 +40,21 @@ export type DnsZone = import("./dnsZone").DnsZone; export const DnsZone: typeof import("./dnsZone").DnsZone = null as any; utilities.lazyLoad(exports, ["DnsZone"], () => require("./dnsZone")); +export { EdgecloudInstanceArgs, EdgecloudInstanceState } from "./edgecloudInstance"; +export type EdgecloudInstance = import("./edgecloudInstance").EdgecloudInstance; +export const EdgecloudInstance: typeof import("./edgecloudInstance").EdgecloudInstance = null as any; +utilities.lazyLoad(exports, ["EdgecloudInstance"], () => require("./edgecloudInstance")); + +export { EdgecloudKubeconfigArgs, EdgecloudKubeconfigState } from "./edgecloudKubeconfig"; +export type EdgecloudKubeconfig = import("./edgecloudKubeconfig").EdgecloudKubeconfig; +export const EdgecloudKubeconfig: typeof import("./edgecloudKubeconfig").EdgecloudKubeconfig = null as any; +utilities.lazyLoad(exports, ["EdgecloudKubeconfig"], () => require("./edgecloudKubeconfig")); + +export { EdgecloudTokenArgs, EdgecloudTokenState } from "./edgecloudToken"; +export type EdgecloudToken = import("./edgecloudToken").EdgecloudToken; +export const EdgecloudToken: typeof import("./edgecloudToken").EdgecloudToken = null as any; +utilities.lazyLoad(exports, ["EdgecloudToken"], () => require("./edgecloudToken")); + export { GetAffinityGroupArgs, GetAffinityGroupResult, GetAffinityGroupOutputArgs } from "./getAffinityGroup"; export const getAffinityGroup: typeof import("./getAffinityGroup").getAffinityGroup = null as any; export const getAffinityGroupOutput: typeof import("./getAffinityGroup").getAffinityGroupOutput = null as any; @@ -65,6 +80,16 @@ export const getDnsZone: typeof import("./getDnsZone").getDnsZone = null as any; export const getDnsZoneOutput: typeof import("./getDnsZone").getDnsZoneOutput = null as any; utilities.lazyLoad(exports, ["getDnsZone","getDnsZoneOutput"], () => require("./getDnsZone")); +export { GetEdgecloudInstancesArgs, GetEdgecloudInstancesResult, GetEdgecloudInstancesOutputArgs } from "./getEdgecloudInstances"; +export const getEdgecloudInstances: typeof import("./getEdgecloudInstances").getEdgecloudInstances = null as any; +export const getEdgecloudInstancesOutput: typeof import("./getEdgecloudInstances").getEdgecloudInstancesOutput = null as any; +utilities.lazyLoad(exports, ["getEdgecloudInstances","getEdgecloudInstancesOutput"], () => require("./getEdgecloudInstances")); + +export { GetEdgecloudPlansArgs, GetEdgecloudPlansResult, GetEdgecloudPlansOutputArgs } from "./getEdgecloudPlans"; +export const getEdgecloudPlans: typeof import("./getEdgecloudPlans").getEdgecloudPlans = null as any; +export const getEdgecloudPlansOutput: typeof import("./getEdgecloudPlans").getEdgecloudPlansOutput = null as any; +utilities.lazyLoad(exports, ["getEdgecloudPlans","getEdgecloudPlansOutput"], () => require("./getEdgecloudPlans")); + export { GetGitArgs, GetGitResult, GetGitOutputArgs } from "./getGit"; export const getGit: typeof import("./getGit").getGit = null as any; export const getGitOutput: typeof import("./getGit").getGitOutput = null as any; @@ -120,6 +145,11 @@ export const getLogmeInstance: typeof import("./getLogmeInstance").getLogmeInsta export const getLogmeInstanceOutput: typeof import("./getLogmeInstance").getLogmeInstanceOutput = null as any; utilities.lazyLoad(exports, ["getLogmeInstance","getLogmeInstanceOutput"], () => require("./getLogmeInstance")); +export { GetLogsInstanceArgs, GetLogsInstanceResult, GetLogsInstanceOutputArgs } from "./getLogsInstance"; +export const getLogsInstance: typeof import("./getLogsInstance").getLogsInstance = null as any; +export const getLogsInstanceOutput: typeof import("./getLogsInstance").getLogsInstanceOutput = null as any; +utilities.lazyLoad(exports, ["getLogsInstance","getLogsInstanceOutput"], () => require("./getLogsInstance")); + export { GetMachineTypeArgs, GetMachineTypeResult, GetMachineTypeOutputArgs } from "./getMachineType"; export const getMachineType: typeof import("./getMachineType").getMachineType = null as any; export const getMachineTypeOutput: typeof import("./getMachineType").getMachineTypeOutput = null as any; @@ -445,6 +475,11 @@ export type LogmeInstance = import("./logmeInstance").LogmeInstance; export const LogmeInstance: typeof import("./logmeInstance").LogmeInstance = null as any; utilities.lazyLoad(exports, ["LogmeInstance"], () => require("./logmeInstance")); +export { LogsInstanceArgs, LogsInstanceState } from "./logsInstance"; +export type LogsInstance = import("./logsInstance").LogsInstance; +export const LogsInstance: typeof import("./logsInstance").LogsInstance = null as any; +utilities.lazyLoad(exports, ["LogsInstance"], () => require("./logsInstance")); + export { MariadbCredentialArgs, MariadbCredentialState } from "./mariadbCredential"; export type MariadbCredential = import("./mariadbCredential").MariadbCredential; export const MariadbCredential: typeof import("./mariadbCredential").MariadbCredential = null as any; @@ -756,6 +791,12 @@ const _module = { return new DnsRecordSet(name, undefined, { urn }) case "stackit:index/dnsZone:DnsZone": return new DnsZone(name, undefined, { urn }) + case "stackit:index/edgecloudInstance:EdgecloudInstance": + return new EdgecloudInstance(name, undefined, { urn }) + case "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": + return new EdgecloudKubeconfig(name, undefined, { urn }) + case "stackit:index/edgecloudToken:EdgecloudToken": + return new EdgecloudToken(name, undefined, { urn }) case "stackit:index/git:Git": return new Git(name, undefined, { urn }) case "stackit:index/image:Image": @@ -776,6 +817,8 @@ const _module = { return new LogmeCredential(name, undefined, { urn }) case "stackit:index/logmeInstance:LogmeInstance": return new LogmeInstance(name, undefined, { urn }) + case "stackit:index/logsInstance:LogsInstance": + return new LogsInstance(name, undefined, { urn }) case "stackit:index/mariadbCredential:MariadbCredential": return new MariadbCredential(name, undefined, { urn }) case "stackit:index/mariadbInstance:MariadbInstance": @@ -900,6 +943,9 @@ pulumi.runtime.registerResourceModule("stackit", "index/cdnCustomDomain", _modul pulumi.runtime.registerResourceModule("stackit", "index/cdnDistribution", _module) pulumi.runtime.registerResourceModule("stackit", "index/dnsRecordSet", _module) pulumi.runtime.registerResourceModule("stackit", "index/dnsZone", _module) +pulumi.runtime.registerResourceModule("stackit", "index/edgecloudInstance", _module) +pulumi.runtime.registerResourceModule("stackit", "index/edgecloudKubeconfig", _module) +pulumi.runtime.registerResourceModule("stackit", "index/edgecloudToken", _module) pulumi.runtime.registerResourceModule("stackit", "index/git", _module) pulumi.runtime.registerResourceModule("stackit", "index/image", _module) pulumi.runtime.registerResourceModule("stackit", "index/keyPair", _module) @@ -910,6 +956,7 @@ pulumi.runtime.registerResourceModule("stackit", "index/loadbalancer", _module) pulumi.runtime.registerResourceModule("stackit", "index/loadbalancerObservabilityCredential", _module) pulumi.runtime.registerResourceModule("stackit", "index/logmeCredential", _module) pulumi.runtime.registerResourceModule("stackit", "index/logmeInstance", _module) +pulumi.runtime.registerResourceModule("stackit", "index/logsInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/mariadbCredential", _module) pulumi.runtime.registerResourceModule("stackit", "index/mariadbInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/modelservingToken", _module) diff --git a/sdk/nodejs/logsInstance.ts b/sdk/nodejs/logsInstance.ts new file mode 100644 index 0000000..21d8220 --- /dev/null +++ b/sdk/nodejs/logsInstance.ts @@ -0,0 +1,247 @@ +// *** 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"; + +/** + * Logs instance resource schema. + * + * > This resource 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. + * + * ## Example Usage + */ +export class LogsInstance extends pulumi.CustomResource { + /** + * Get an existing LogsInstance 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?: LogsInstanceState, opts?: pulumi.CustomResourceOptions): LogsInstance { + return new LogsInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/logsInstance:LogsInstance'; + + /** + * Returns true if the given object is an instance of LogsInstance. 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 LogsInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === LogsInstance.__pulumiType; + } + + /** + * The access control list entries for the Logs instance + */ + declare public readonly acls: pulumi.Output; + /** + * The date and time the creation of the Logs instance was initiated + */ + declare public /*out*/ readonly created: pulumi.Output; + /** + * Logs instance datasource URL, can be used in Grafana as datasource URL + */ + declare public /*out*/ readonly datasourceUrl: pulumi.Output; + /** + * The description of the Logs instance + */ + declare public readonly description: pulumi.Output; + /** + * The displayed name of the Logs instance + */ + declare public readonly displayName: pulumi.Output; + /** + * The Logs instance's ingest logs via OTLP URL + */ + declare public /*out*/ readonly ingestOtlpUrl: pulumi.Output; + /** + * The logs instance's ingest logs URL + */ + declare public /*out*/ readonly ingestUrl: pulumi.Output; + /** + * The Logs instance ID + */ + declare public /*out*/ readonly instanceId: pulumi.Output; + /** + * STACKIT project ID associated with the Logs instance + */ + declare public readonly projectId: pulumi.Output; + /** + * The Logs instance's query range URL + */ + declare public /*out*/ readonly queryRangeUrl: pulumi.Output; + /** + * The Logs instance's query URL + */ + declare public /*out*/ readonly queryUrl: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The log retention time in days + */ + declare public readonly retentionDays: pulumi.Output; + /** + * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + */ + declare public /*out*/ readonly status: pulumi.Output; + + /** + * Create a LogsInstance 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: LogsInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: LogsInstanceArgs | LogsInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as LogsInstanceState | undefined; + resourceInputs["acls"] = state?.acls; + resourceInputs["created"] = state?.created; + resourceInputs["datasourceUrl"] = state?.datasourceUrl; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["ingestOtlpUrl"] = state?.ingestOtlpUrl; + resourceInputs["ingestUrl"] = state?.ingestUrl; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["queryRangeUrl"] = state?.queryRangeUrl; + resourceInputs["queryUrl"] = state?.queryUrl; + resourceInputs["region"] = state?.region; + resourceInputs["retentionDays"] = state?.retentionDays; + resourceInputs["status"] = state?.status; + } else { + const args = argsOrState as LogsInstanceArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.retentionDays === undefined && !opts.urn) { + throw new Error("Missing required property 'retentionDays'"); + } + resourceInputs["acls"] = args?.acls; + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["retentionDays"] = args?.retentionDays; + resourceInputs["created"] = undefined /*out*/; + resourceInputs["datasourceUrl"] = undefined /*out*/; + resourceInputs["ingestOtlpUrl"] = undefined /*out*/; + resourceInputs["ingestUrl"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + resourceInputs["queryRangeUrl"] = undefined /*out*/; + resourceInputs["queryUrl"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(LogsInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering LogsInstance resources. + */ +export interface LogsInstanceState { + /** + * The access control list entries for the Logs instance + */ + acls?: pulumi.Input[]>; + /** + * The date and time the creation of the Logs instance was initiated + */ + created?: pulumi.Input; + /** + * Logs instance datasource URL, can be used in Grafana as datasource URL + */ + datasourceUrl?: pulumi.Input; + /** + * The description of the Logs instance + */ + description?: pulumi.Input; + /** + * The displayed name of the Logs instance + */ + displayName?: pulumi.Input; + /** + * The Logs instance's ingest logs via OTLP URL + */ + ingestOtlpUrl?: pulumi.Input; + /** + * The logs instance's ingest logs URL + */ + ingestUrl?: pulumi.Input; + /** + * The Logs instance ID + */ + instanceId?: pulumi.Input; + /** + * STACKIT project ID associated with the Logs instance + */ + projectId?: pulumi.Input; + /** + * The Logs instance's query range URL + */ + queryRangeUrl?: pulumi.Input; + /** + * The Logs instance's query URL + */ + queryUrl?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The log retention time in days + */ + retentionDays?: pulumi.Input; + /** + * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a LogsInstance resource. + */ +export interface LogsInstanceArgs { + /** + * The access control list entries for the Logs instance + */ + acls?: pulumi.Input[]>; + /** + * The description of the Logs instance + */ + description?: pulumi.Input; + /** + * The displayed name of the Logs instance + */ + displayName: pulumi.Input; + /** + * STACKIT project ID associated with the Logs instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The log retention time in days + */ + retentionDays: pulumi.Input; +} diff --git a/sdk/nodejs/networkArea.ts b/sdk/nodejs/networkArea.ts index b7e6132..dba4025 100644 --- a/sdk/nodejs/networkArea.ts +++ b/sdk/nodejs/networkArea.ts @@ -6,11 +6,6 @@ import * as inputs from "./types/input"; import * as outputs from "./types/output"; import * as utilities from "./utilities"; -/** - * Network area resource schema. - * - * ## Example Usage - */ export class NetworkArea extends pulumi.CustomResource { /** * Get an existing NetworkArea resource's state with the given name, ID, and optional extra diff --git a/sdk/nodejs/postgresflexUser.ts b/sdk/nodejs/postgresflexUser.ts index 6462d31..14dfd1e 100644 --- a/sdk/nodejs/postgresflexUser.ts +++ b/sdk/nodejs/postgresflexUser.ts @@ -53,7 +53,7 @@ export class PostgresflexUser extends pulumi.CustomResource { */ declare public readonly region: pulumi.Output; /** - * Database access levels for the user. Possible values are: `login`, `createdb`. + * Database access levels for the user. */ declare public readonly roles: pulumi.Output; declare public /*out*/ readonly uri: pulumi.Output; @@ -138,7 +138,7 @@ export interface PostgresflexUserState { */ region?: pulumi.Input; /** - * Database access levels for the user. Possible values are: `login`, `createdb`. + * Database access levels for the user. */ roles?: pulumi.Input[]>; uri?: pulumi.Input; @@ -166,7 +166,7 @@ export interface PostgresflexUserArgs { */ region?: pulumi.Input; /** - * Database access levels for the user. Possible values are: `login`, `createdb`. + * Database access levels for the user. */ roles: pulumi.Input[]>; username: pulumi.Input; diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index f21f3e3..b4dae82 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -45,6 +45,10 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the DNS service */ declare public readonly dnsCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Edge Cloud service + */ + declare public readonly edgecloudCustomEndpoint: pulumi.Output; /** * Custom endpoint for the Git service */ @@ -65,6 +69,10 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the LogMe service */ declare public readonly logmeCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Logs service + */ + declare public readonly logsCustomEndpoint: pulumi.Output; /** * Custom endpoint for the MariaDB service */ @@ -196,6 +204,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["credentialsPath"] = args?.credentialsPath; resourceInputs["defaultRegion"] = args?.defaultRegion; resourceInputs["dnsCustomEndpoint"] = args?.dnsCustomEndpoint; + resourceInputs["edgecloudCustomEndpoint"] = args?.edgecloudCustomEndpoint; resourceInputs["enableBetaResources"] = pulumi.output(args?.enableBetaResources).apply(JSON.stringify); resourceInputs["experiments"] = pulumi.output(args?.experiments).apply(JSON.stringify); resourceInputs["gitCustomEndpoint"] = args?.gitCustomEndpoint; @@ -203,6 +212,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["kmsCustomEndpoint"] = args?.kmsCustomEndpoint; resourceInputs["loadbalancerCustomEndpoint"] = args?.loadbalancerCustomEndpoint; resourceInputs["logmeCustomEndpoint"] = args?.logmeCustomEndpoint; + resourceInputs["logsCustomEndpoint"] = args?.logsCustomEndpoint; resourceInputs["mariadbCustomEndpoint"] = args?.mariadbCustomEndpoint; resourceInputs["modelservingCustomEndpoint"] = args?.modelservingCustomEndpoint; resourceInputs["mongodbflexCustomEndpoint"] = args?.mongodbflexCustomEndpoint; @@ -269,6 +279,10 @@ export interface ProviderArgs { * Custom endpoint for the DNS service */ dnsCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Edge Cloud service + */ + edgecloudCustomEndpoint?: pulumi.Input; /** * Enable beta resources. Default is false. */ @@ -297,6 +311,10 @@ export interface ProviderArgs { * Custom endpoint for the LogMe service */ logmeCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Logs service + */ + logsCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the MariaDB service */ diff --git a/sdk/nodejs/routingTable.ts b/sdk/nodejs/routingTable.ts index 3310ba0..cad73af 100644 --- a/sdk/nodejs/routingTable.ts +++ b/sdk/nodejs/routingTable.ts @@ -47,6 +47,10 @@ export class RoutingTable extends pulumi.CustomResource { * Description of the routing table. */ declare public readonly description: pulumi.Output; + /** + * This controls whether dynamic routes are propagated to this routing table + */ + declare public readonly dynamicRoutes: pulumi.Output; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -95,6 +99,7 @@ export class RoutingTable extends pulumi.CustomResource { const state = argsOrState as RoutingTableState | undefined; resourceInputs["createdAt"] = state?.createdAt; resourceInputs["description"] = state?.description; + resourceInputs["dynamicRoutes"] = state?.dynamicRoutes; resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["networkAreaId"] = state?.networkAreaId; @@ -112,6 +117,7 @@ export class RoutingTable extends pulumi.CustomResource { throw new Error("Missing required property 'organizationId'"); } resourceInputs["description"] = args?.description; + resourceInputs["dynamicRoutes"] = args?.dynamicRoutes; resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["networkAreaId"] = args?.networkAreaId; @@ -139,6 +145,10 @@ export interface RoutingTableState { * Description of the routing table. */ description?: pulumi.Input; + /** + * This controls whether dynamic routes are propagated to this routing table + */ + dynamicRoutes?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -181,6 +191,10 @@ export interface RoutingTableArgs { * Description of the routing table. */ description?: pulumi.Input; + /** + * This controls whether dynamic routes are propagated to this routing table + */ + dynamicRoutes?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index e7137c4..6538e2a 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -22,11 +22,16 @@ "config/vars.ts", "dnsRecordSet.ts", "dnsZone.ts", + "edgecloudInstance.ts", + "edgecloudKubeconfig.ts", + "edgecloudToken.ts", "getAffinityGroup.ts", "getCdnCustomDomain.ts", "getCdnDistribution.ts", "getDnsRecordSet.ts", "getDnsZone.ts", + "getEdgecloudInstances.ts", + "getEdgecloudPlans.ts", "getGit.ts", "getIaasProject.ts", "getImage.ts", @@ -38,6 +43,7 @@ "getLoadbalancer.ts", "getLogmeCredential.ts", "getLogmeInstance.ts", + "getLogsInstance.ts", "getMachineType.ts", "getMariadbCredential.ts", "getMariadbInstance.ts", @@ -104,6 +110,7 @@ "loadbalancerObservabilityCredential.ts", "logmeCredential.ts", "logmeInstance.ts", + "logsInstance.ts", "mariadbCredential.ts", "mariadbInstance.ts", "modelservingToken.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index ea7069e..9ae75db 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1411,6 +1411,38 @@ export interface SqlserverflexInstanceStorage { size?: pulumi.Input; } +export interface VolumeEncryptionParameters { + /** + * UUID of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: pulumi.Input; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: pulumi.Input; + /** + * UUID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: pulumi.Input; + /** + * Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + */ + keyPayloadBase64?: pulumi.Input; + /** + * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + * Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + */ + keyPayloadBase64Wo?: pulumi.Input; + /** + * Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. + */ + keyPayloadBase64WoVersion?: pulumi.Input; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: pulumi.Input; +} + export interface VolumeSource { /** * The ID of the source, e.g. image ID diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 891dfe8..0546c59 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -149,6 +149,60 @@ export interface GetCdnDistributionDomain { type: string; } +export interface GetEdgecloudInstancesInstance { + /** + * The date and time the instance was created. + */ + created: string; + /** + * Description of the instance. + */ + description: string; + /** + * The display name of the instance. + */ + displayName: string; + /** + * Frontend URL for the Edge Cloud instance. + */ + frontendUrl: string; + /** + * The ID of the instance. + */ + instanceId: string; + /** + * The plan ID for the instance. + */ + planId: string; + /** + * The region where the instance is located. + */ + region: string; + /** + * The status of the instance. + */ + status: string; +} + +export interface GetEdgecloudPlansPlan { + /** + * Description of the plan. + */ + description: string; + /** + * The ID of the plan. + */ + id: string; + /** + * Maximum number of Edge Cloud hosts that can be used. + */ + maxEdgeHosts: number; + /** + * The name of the plan. + */ + name: string; +} + export interface GetImageChecksum { /** * Algorithm for the checksum of the image data. @@ -1262,6 +1316,10 @@ export interface GetRoutingTablesItem { * Description of the routing table. */ description: string; + /** + * This controls whether dynamic routes are propagated to this routing table + */ + dynamicRoutes: boolean; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -2924,6 +2982,38 @@ export interface SqlserverflexInstanceStorage { size: number; } +export interface VolumeEncryptionParameters { + /** + * UUID of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyId: string; + /** + * Version of the key within the STACKIT-KMS to use for the encryption. + */ + kekKeyVersion: number; + /** + * UUID of the keyring where the key is located within the STACKTI-KMS. + */ + kekKeyringId: string; + /** + * Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + */ + keyPayloadBase64?: string; + /** + * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + * Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + */ + keyPayloadBase64Wo?: string; + /** + * Used together with `keyPayloadBase64Wo` to trigger an re-create. Increment this value when an update to `keyPayloadBase64Wo` is required. + */ + keyPayloadBase64WoVersion?: number; + /** + * Service-Account linked to the Key within the STACKIT-KMS. + */ + serviceAccount: string; +} + export interface VolumeSource { /** * The ID of the source, e.g. image ID diff --git a/sdk/nodejs/volume.ts b/sdk/nodejs/volume.ts index 3e4befa..3311b87 100644 --- a/sdk/nodejs/volume.ts +++ b/sdk/nodejs/volume.ts @@ -7,8 +7,6 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Volume resource schema. Must have a `region` specified in the provider configuration. - * * ## Example Usage */ export class Volume extends pulumi.CustomResource { @@ -47,6 +45,11 @@ export class Volume extends pulumi.CustomResource { * The description of the volume. */ declare public readonly description: pulumi.Output; + /** + * Indicates if the volume is encrypted. + */ + declare public /*out*/ readonly encrypted: pulumi.Output; + declare public readonly encryptionParameters: pulumi.Output; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -99,6 +102,8 @@ export class Volume extends pulumi.CustomResource { const state = argsOrState as VolumeState | undefined; resourceInputs["availabilityZone"] = state?.availabilityZone; resourceInputs["description"] = state?.description; + resourceInputs["encrypted"] = state?.encrypted; + resourceInputs["encryptionParameters"] = state?.encryptionParameters; resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["performanceClass"] = state?.performanceClass; @@ -118,6 +123,7 @@ export class Volume extends pulumi.CustomResource { } resourceInputs["availabilityZone"] = args?.availabilityZone; resourceInputs["description"] = args?.description; + resourceInputs["encryptionParameters"] = args?.encryptionParameters; resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["performanceClass"] = args?.performanceClass; @@ -125,6 +131,7 @@ export class Volume extends pulumi.CustomResource { resourceInputs["region"] = args?.region; resourceInputs["size"] = args?.size; resourceInputs["source"] = args?.source; + resourceInputs["encrypted"] = undefined /*out*/; resourceInputs["serverId"] = undefined /*out*/; resourceInputs["volumeId"] = undefined /*out*/; } @@ -145,6 +152,11 @@ export interface VolumeState { * The description of the volume. */ description?: pulumi.Input; + /** + * Indicates if the volume is encrypted. + */ + encrypted?: pulumi.Input; + encryptionParameters?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -195,6 +207,7 @@ export interface VolumeArgs { * The description of the volume. */ description?: pulumi.Input; + encryptionParameters?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index e37868a..4f9affb 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -13,11 +13,16 @@ from .cdn_distribution import * from .dns_record_set import * from .dns_zone import * +from .edgecloud_instance import * +from .edgecloud_kubeconfig import * +from .edgecloud_token import * from .get_affinity_group import * from .get_cdn_custom_domain import * from .get_cdn_distribution import * from .get_dns_record_set import * from .get_dns_zone import * +from .get_edgecloud_instances import * +from .get_edgecloud_plans import * from .get_git import * from .get_iaas_project import * from .get_image import * @@ -29,6 +34,7 @@ from .get_loadbalancer import * from .get_logme_credential import * from .get_logme_instance import * +from .get_logs_instance import * from .get_machine_type import * from .get_mariadb_credential import * from .get_mariadb_instance import * @@ -94,6 +100,7 @@ from .loadbalancer_observability_credential import * from .logme_credential import * from .logme_instance import * +from .logs_instance import * from .mariadb_credential import * from .mariadb_instance import * from .modelserving_token import * @@ -220,6 +227,30 @@ "stackit:index/dnsZone:DnsZone": "DnsZone" } }, + { + "pkg": "stackit", + "mod": "index/edgecloudInstance", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/edgecloudInstance:EdgecloudInstance": "EdgecloudInstance" + } + }, + { + "pkg": "stackit", + "mod": "index/edgecloudKubeconfig", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": "EdgecloudKubeconfig" + } + }, + { + "pkg": "stackit", + "mod": "index/edgecloudToken", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/edgecloudToken:EdgecloudToken": "EdgecloudToken" + } + }, { "pkg": "stackit", "mod": "index/git", @@ -300,6 +331,14 @@ "stackit:index/logmeInstance:LogmeInstance": "LogmeInstance" } }, + { + "pkg": "stackit", + "mod": "index/logsInstance", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/logsInstance:LogsInstance": "LogsInstance" + } + }, { "pkg": "stackit", "mod": "index/mariadbCredential", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index 1a57b02..8aa98b3 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -153,6 +153,8 @@ 'SqlserverflexInstanceOptionsArgsDict', 'SqlserverflexInstanceStorageArgs', 'SqlserverflexInstanceStorageArgsDict', + 'VolumeEncryptionParametersArgs', + 'VolumeEncryptionParametersArgsDict', 'VolumeSourceArgs', 'VolumeSourceArgsDict', 'GetCdnCustomDomainCertificateArgs', @@ -6857,6 +6859,157 @@ def size(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "size", value) +if not MYPY: + class VolumeEncryptionParametersArgsDict(TypedDict): + kek_key_id: pulumi.Input[_builtins.str] + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + kek_key_version: pulumi.Input[_builtins.int] + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + kek_keyring_id: pulumi.Input[_builtins.str] + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + service_account: pulumi.Input[_builtins.str] + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + key_payload_base64: NotRequired[pulumi.Input[_builtins.str]] + """ + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + key_payload_base64_wo: NotRequired[pulumi.Input[_builtins.str]] + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + key_payload_base64_wo_version: NotRequired[pulumi.Input[_builtins.int]] + """ + Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. + """ +elif False: + VolumeEncryptionParametersArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class VolumeEncryptionParametersArgs: + def __init__(__self__, *, + kek_key_id: pulumi.Input[_builtins.str], + kek_key_version: pulumi.Input[_builtins.int], + kek_keyring_id: pulumi.Input[_builtins.str], + service_account: pulumi.Input[_builtins.str], + key_payload_base64: Optional[pulumi.Input[_builtins.str]] = None, + key_payload_base64_wo: Optional[pulumi.Input[_builtins.str]] = None, + key_payload_base64_wo_version: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] kek_key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.int] kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] kek_keyring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param pulumi.Input[_builtins.str] service_account: Service-Account linked to the Key within the STACKIT-KMS. + :param pulumi.Input[_builtins.str] key_payload_base64: Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + :param pulumi.Input[_builtins.str] key_payload_base64_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + :param pulumi.Input[_builtins.int] key_payload_base64_wo_version: Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + if key_payload_base64 is not None: + pulumi.set(__self__, "key_payload_base64", key_payload_base64) + if key_payload_base64_wo is not None: + pulumi.set(__self__, "key_payload_base64_wo", key_payload_base64_wo) + if key_payload_base64_wo_version is not None: + pulumi.set(__self__, "key_payload_base64_wo_version", key_payload_base64_wo_version) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> pulumi.Input[_builtins.str]: + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @kek_key_id.setter + def kek_key_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_key_id", value) + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> pulumi.Input[_builtins.int]: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @kek_key_version.setter + def kek_key_version(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "kek_key_version", value) + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> pulumi.Input[_builtins.str]: + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @kek_keyring_id.setter + def kek_keyring_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "kek_keyring_id", value) + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> pulumi.Input[_builtins.str]: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @service_account.setter + def service_account(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "service_account", value) + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64") + def key_payload_base64(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + return pulumi.get(self, "key_payload_base64") + + @key_payload_base64.setter + def key_payload_base64(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "key_payload_base64", value) + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64Wo") + def key_payload_base64_wo(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + return pulumi.get(self, "key_payload_base64_wo") + + @key_payload_base64_wo.setter + def key_payload_base64_wo(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "key_payload_base64_wo", value) + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64WoVersion") + def key_payload_base64_wo_version(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. + """ + return pulumi.get(self, "key_payload_base64_wo_version") + + @key_payload_base64_wo_version.setter + def key_payload_base64_wo_version(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "key_payload_base64_wo_version", value) + + if not MYPY: class VolumeSourceArgsDict(TypedDict): id: pulumi.Input[_builtins.str] diff --git a/sdk/python/pulumi_stackit/config/__init__.pyi b/sdk/python/pulumi_stackit/config/__init__.pyi index 9971d11..f848f96 100644 --- a/sdk/python/pulumi_stackit/config/__init__.pyi +++ b/sdk/python/pulumi_stackit/config/__init__.pyi @@ -39,6 +39,11 @@ dnsCustomEndpoint: Optional[str] Custom endpoint for the DNS service """ +edgecloudCustomEndpoint: Optional[str] +""" +Custom endpoint for the Edge Cloud service +""" + enableBetaResources: Optional[bool] """ Enable beta resources. Default is false. @@ -74,6 +79,11 @@ logmeCustomEndpoint: Optional[str] Custom endpoint for the LogMe service """ +logsCustomEndpoint: Optional[str] +""" +Custom endpoint for the Logs service +""" + mariadbCustomEndpoint: Optional[str] """ Custom endpoint for the MariaDB service diff --git a/sdk/python/pulumi_stackit/config/vars.py b/sdk/python/pulumi_stackit/config/vars.py index d1035e4..1b03faf 100644 --- a/sdk/python/pulumi_stackit/config/vars.py +++ b/sdk/python/pulumi_stackit/config/vars.py @@ -55,6 +55,13 @@ def dns_custom_endpoint(self) -> Optional[str]: """ return __config__.get('dnsCustomEndpoint') + @_builtins.property + def edgecloud_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Edge Cloud service + """ + return __config__.get('edgecloudCustomEndpoint') + @_builtins.property def enable_beta_resources(self) -> Optional[bool]: """ @@ -104,6 +111,13 @@ def logme_custom_endpoint(self) -> Optional[str]: """ return __config__.get('logmeCustomEndpoint') + @_builtins.property + def logs_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Logs service + """ + return __config__.get('logsCustomEndpoint') + @_builtins.property def mariadb_custom_endpoint(self) -> Optional[str]: """ diff --git a/sdk/python/pulumi_stackit/edgecloud_instance.py b/sdk/python/pulumi_stackit/edgecloud_instance.py new file mode 100644 index 0000000..3e1ec08 --- /dev/null +++ b/sdk/python/pulumi_stackit/edgecloud_instance.py @@ -0,0 +1,464 @@ +# 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__ = ['EdgecloudInstanceArgs', 'EdgecloudInstance'] + +@pulumi.input_type +class EdgecloudInstanceArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + plan_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a EdgecloudInstance resource. + :param pulumi.Input[_builtins.str] display_name: Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + :param pulumi.Input[_builtins.str] plan_id: STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.str] description: Description for your STACKIT Edge Cloud instance. Max length is 256 characters + :param pulumi.Input[_builtins.str] region: STACKIT region to use for the instance, providers default_region will be used if unset. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "plan_id", plan_id) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + """ + return pulumi.get(self, "plan_id") + + @plan_id.setter + def plan_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "plan_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description for your STACKIT Edge Cloud instance. Max length is 256 characters + """ + 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 region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT region to use for the instance, providers default_region will be used if unset. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _EdgecloudInstanceState: + def __init__(__self__, *, + created: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + frontend_url: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + plan_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering EdgecloudInstance resources. + :param pulumi.Input[_builtins.str] created: The date and time the creation of the instance was triggered. + :param pulumi.Input[_builtins.str] description: Description for your STACKIT Edge Cloud instance. Max length is 256 characters + :param pulumi.Input[_builtins.str] display_name: Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + :param pulumi.Input[_builtins.str] frontend_url: Frontend URL for the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_id: \\n\\n-\\n\\n + :param pulumi.Input[_builtins.str] plan_id: STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.str] region: STACKIT region to use for the instance, providers default_region will be used if unset. + :param pulumi.Input[_builtins.str] status: instance status + """ + if created is not None: + pulumi.set(__self__, "created", created) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if frontend_url is not None: + pulumi.set(__self__, "frontend_url", frontend_url) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if plan_id is not None: + pulumi.set(__self__, "plan_id", plan_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if status is not None: + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def created(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The date and time the creation of the instance was triggered. + """ + return pulumi.get(self, "created") + + @created.setter + def created(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "created", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description for your STACKIT Edge Cloud instance. Max length is 256 characters + """ + 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(name="displayName") + def display_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="frontendUrl") + def frontend_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Frontend URL for the Edge Cloud instance. + """ + return pulumi.get(self, "frontend_url") + + @frontend_url.setter + def frontend_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "frontend_url", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + \\n\\n-\\n\\n + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + """ + return pulumi.get(self, "plan_id") + + @plan_id.setter + def plan_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "plan_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT region to use for the instance, providers default_region will be used if unset. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + instance status + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + +@pulumi.type_token("stackit:index/edgecloudInstance:EdgecloudInstance") +class EdgecloudInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + plan_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## 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: Description for your STACKIT Edge Cloud instance. Max length is 256 characters + :param pulumi.Input[_builtins.str] display_name: Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + :param pulumi.Input[_builtins.str] plan_id: STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.str] region: STACKIT region to use for the instance, providers default_region will be used if unset. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EdgecloudInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param EdgecloudInstanceArgs 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(EdgecloudInstanceArgs, 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, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + plan_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: 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__ = EdgecloudInstanceArgs.__new__(EdgecloudInstanceArgs) + + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if plan_id is None and not opts.urn: + raise TypeError("Missing required property 'plan_id'") + __props__.__dict__["plan_id"] = plan_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["created"] = None + __props__.__dict__["frontend_url"] = None + __props__.__dict__["instance_id"] = None + __props__.__dict__["status"] = None + super(EdgecloudInstance, __self__).__init__( + 'stackit:index/edgecloudInstance:EdgecloudInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + created: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + frontend_url: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + plan_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'EdgecloudInstance': + """ + Get an existing EdgecloudInstance 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] created: The date and time the creation of the instance was triggered. + :param pulumi.Input[_builtins.str] description: Description for your STACKIT Edge Cloud instance. Max length is 256 characters + :param pulumi.Input[_builtins.str] display_name: Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + :param pulumi.Input[_builtins.str] frontend_url: Frontend URL for the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_id: \\n\\n-\\n\\n + :param pulumi.Input[_builtins.str] plan_id: STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.str] region: STACKIT region to use for the instance, providers default_region will be used if unset. + :param pulumi.Input[_builtins.str] status: instance status + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EdgecloudInstanceState.__new__(_EdgecloudInstanceState) + + __props__.__dict__["created"] = created + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["frontend_url"] = frontend_url + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["plan_id"] = plan_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["status"] = status + return EdgecloudInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def created(self) -> pulumi.Output[_builtins.str]: + """ + The date and time the creation of the instance was triggered. + """ + return pulumi.get(self, "created") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + Description for your STACKIT Edge Cloud instance. Max length is 256 characters + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="frontendUrl") + def frontend_url(self) -> pulumi.Output[_builtins.str]: + """ + Frontend URL for the Edge Cloud instance. + """ + return pulumi.get(self, "frontend_url") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + \\n\\n-\\n\\n + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan. + """ + return pulumi.get(self, "plan_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region to use for the instance, providers default_region will be used if unset. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + instance status + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_stackit/edgecloud_kubeconfig.py b/sdk/python/pulumi_stackit/edgecloud_kubeconfig.py new file mode 100644 index 0000000..18840b3 --- /dev/null +++ b/sdk/python/pulumi_stackit/edgecloud_kubeconfig.py @@ -0,0 +1,503 @@ +# 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__ = ['EdgecloudKubeconfigArgs', 'EdgecloudKubeconfig'] + +@pulumi.input_type +class EdgecloudKubeconfigArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a EdgecloudKubeconfig resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] expiration: Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the kubeconfig at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + if expiration is not None: + pulumi.set(__self__, "expiration", expiration) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if recreate_before is not None: + pulumi.set(__self__, "recreate_before", recreate_before) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def expiration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @expiration.setter + def expiration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "expiration", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_name", value) + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the kubeconfig at. + """ + return pulumi.get(self, "recreate_before") + + @recreate_before.setter + def recreate_before(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "recreate_before", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _EdgecloudKubeconfigState: + def __init__(__self__, *, + creation_time: Optional[pulumi.Input[_builtins.str]] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + expires_at: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + kubeconfig: Optional[pulumi.Input[_builtins.str]] = None, + kubeconfig_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering EdgecloudKubeconfig resources. + :param pulumi.Input[_builtins.str] creation_time: Date-time when the kubeconfig was created + :param pulumi.Input[_builtins.int] expiration: Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] expires_at: Timestamp when the kubeconfig expires + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] kubeconfig: Raw kubeconfig. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the kubeconfig at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if expiration is not None: + pulumi.set(__self__, "expiration", expiration) + if expires_at is not None: + pulumi.set(__self__, "expires_at", expires_at) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if kubeconfig is not None: + pulumi.set(__self__, "kubeconfig", kubeconfig) + if kubeconfig_id is not None: + pulumi.set(__self__, "kubeconfig_id", kubeconfig_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if recreate_before is not None: + pulumi.set(__self__, "recreate_before", recreate_before) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Date-time when the kubeconfig was created + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "creation_time", value) + + @_builtins.property + @pulumi.getter + def expiration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @expiration.setter + def expiration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "expiration", value) + + @_builtins.property + @pulumi.getter(name="expiresAt") + def expires_at(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Timestamp when the kubeconfig expires + """ + return pulumi.get(self, "expires_at") + + @expires_at.setter + def expires_at(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "expires_at", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_name", value) + + @_builtins.property + @pulumi.getter + def kubeconfig(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Raw kubeconfig. + """ + return pulumi.get(self, "kubeconfig") + + @kubeconfig.setter + def kubeconfig(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "kubeconfig", value) + + @_builtins.property + @pulumi.getter(name="kubeconfigId") + def kubeconfig_id(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "kubeconfig_id") + + @kubeconfig_id.setter + def kubeconfig_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "kubeconfig_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the kubeconfig at. + """ + return pulumi.get(self, "recreate_before") + + @recreate_before.setter + def recreate_before(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "recreate_before", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.type_token("stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig") +class EdgecloudKubeconfig(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.int] expiration: Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the kubeconfig at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EdgecloudKubeconfigArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param EdgecloudKubeconfigArgs 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(EdgecloudKubeconfigArgs, 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, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: 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__ = EdgecloudKubeconfigArgs.__new__(EdgecloudKubeconfigArgs) + + __props__.__dict__["expiration"] = expiration + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["instance_name"] = instance_name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recreate_before"] = recreate_before + __props__.__dict__["region"] = region + __props__.__dict__["creation_time"] = None + __props__.__dict__["expires_at"] = None + __props__.__dict__["kubeconfig"] = None + __props__.__dict__["kubeconfig_id"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["kubeconfig"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(EdgecloudKubeconfig, __self__).__init__( + 'stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + creation_time: Optional[pulumi.Input[_builtins.str]] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + expires_at: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + kubeconfig: Optional[pulumi.Input[_builtins.str]] = None, + kubeconfig_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'EdgecloudKubeconfig': + """ + Get an existing EdgecloudKubeconfig 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] creation_time: Date-time when the kubeconfig was created + :param pulumi.Input[_builtins.int] expiration: Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] expires_at: Timestamp when the kubeconfig expires + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] kubeconfig: Raw kubeconfig. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the kubeconfig at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EdgecloudKubeconfigState.__new__(_EdgecloudKubeconfigState) + + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["expiration"] = expiration + __props__.__dict__["expires_at"] = expires_at + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["kubeconfig"] = kubeconfig + __props__.__dict__["kubeconfig_id"] = kubeconfig_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recreate_before"] = recreate_before + __props__.__dict__["region"] = region + return EdgecloudKubeconfig(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[_builtins.str]: + """ + Date-time when the kubeconfig was created + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter + def expiration(self) -> pulumi.Output[_builtins.int]: + """ + Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @_builtins.property + @pulumi.getter(name="expiresAt") + def expires_at(self) -> pulumi.Output[_builtins.str]: + """ + Timestamp when the kubeconfig expires + """ + return pulumi.get(self, "expires_at") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @_builtins.property + @pulumi.getter + def kubeconfig(self) -> pulumi.Output[_builtins.str]: + """ + Raw kubeconfig. + """ + return pulumi.get(self, "kubeconfig") + + @_builtins.property + @pulumi.getter(name="kubeconfigId") + def kubeconfig_id(self) -> pulumi.Output[_builtins.str]: + return pulumi.get(self, "kubeconfig_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the kubeconfig at. + """ + return pulumi.get(self, "recreate_before") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + diff --git a/sdk/python/pulumi_stackit/edgecloud_token.py b/sdk/python/pulumi_stackit/edgecloud_token.py new file mode 100644 index 0000000..e2dbee6 --- /dev/null +++ b/sdk/python/pulumi_stackit/edgecloud_token.py @@ -0,0 +1,503 @@ +# 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__ = ['EdgecloudTokenArgs', 'EdgecloudToken'] + +@pulumi.input_type +class EdgecloudTokenArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a EdgecloudToken resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] expiration: Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the token at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "project_id", project_id) + if expiration is not None: + pulumi.set(__self__, "expiration", expiration) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if recreate_before is not None: + pulumi.set(__self__, "recreate_before", recreate_before) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def expiration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @expiration.setter + def expiration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "expiration", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_name", value) + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the token at. + """ + return pulumi.get(self, "recreate_before") + + @recreate_before.setter + def recreate_before(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "recreate_before", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _EdgecloudTokenState: + def __init__(__self__, *, + creation_time: Optional[pulumi.Input[_builtins.str]] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + expires_at: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + token: Optional[pulumi.Input[_builtins.str]] = None, + token_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering EdgecloudToken resources. + :param pulumi.Input[_builtins.str] creation_time: Date-time when the token was created + :param pulumi.Input[_builtins.int] expiration: Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] expires_at: Timestamp when the token expires + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the token at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] token: Raw token. + """ + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if expiration is not None: + pulumi.set(__self__, "expiration", expiration) + if expires_at is not None: + pulumi.set(__self__, "expires_at", expires_at) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if instance_name is not None: + pulumi.set(__self__, "instance_name", instance_name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if recreate_before is not None: + pulumi.set(__self__, "recreate_before", recreate_before) + if region is not None: + pulumi.set(__self__, "region", region) + if token is not None: + pulumi.set(__self__, "token", token) + if token_id is not None: + pulumi.set(__self__, "token_id", token_id) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Date-time when the token was created + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "creation_time", value) + + @_builtins.property + @pulumi.getter + def expiration(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @expiration.setter + def expiration(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "expiration", value) + + @_builtins.property + @pulumi.getter(name="expiresAt") + def expires_at(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Timestamp when the token expires + """ + return pulumi.get(self, "expires_at") + + @expires_at.setter + def expires_at(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "expires_at", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @instance_name.setter + def instance_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the token at. + """ + return pulumi.get(self, "recreate_before") + + @recreate_before.setter + def recreate_before(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "recreate_before", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def token(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Raw token. + """ + return pulumi.get(self, "token") + + @token.setter + def token(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "token", value) + + @_builtins.property + @pulumi.getter(name="tokenId") + def token_id(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "token_id") + + @token_id.setter + def token_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "token_id", value) + + +@pulumi.type_token("stackit:index/edgecloudToken:EdgecloudToken") +class EdgecloudToken(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.int] expiration: Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the token at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: EdgecloudTokenArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param EdgecloudTokenArgs 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(EdgecloudTokenArgs, 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, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: 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__ = EdgecloudTokenArgs.__new__(EdgecloudTokenArgs) + + __props__.__dict__["expiration"] = expiration + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["instance_name"] = instance_name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recreate_before"] = recreate_before + __props__.__dict__["region"] = region + __props__.__dict__["creation_time"] = None + __props__.__dict__["expires_at"] = None + __props__.__dict__["token"] = None + __props__.__dict__["token_id"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["token"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(EdgecloudToken, __self__).__init__( + 'stackit:index/edgecloudToken:EdgecloudToken', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + creation_time: Optional[pulumi.Input[_builtins.str]] = None, + expiration: Optional[pulumi.Input[_builtins.int]] = None, + expires_at: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + instance_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + recreate_before: Optional[pulumi.Input[_builtins.int]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + token: Optional[pulumi.Input[_builtins.str]] = None, + token_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'EdgecloudToken': + """ + Get an existing EdgecloudToken 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] creation_time: Date-time when the token was created + :param pulumi.Input[_builtins.int] expiration: Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + :param pulumi.Input[_builtins.str] expires_at: Timestamp when the token expires + :param pulumi.Input[_builtins.str] instance_id: ID of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] instance_name: Name of the Edge Cloud instance. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Edge Cloud instance is associated. + :param pulumi.Input[_builtins.int] recreate_before: Number of seconds before expiration to trigger recreation of the token at. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] token: Raw token. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _EdgecloudTokenState.__new__(_EdgecloudTokenState) + + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["expiration"] = expiration + __props__.__dict__["expires_at"] = expires_at + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["instance_name"] = instance_name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["recreate_before"] = recreate_before + __props__.__dict__["region"] = region + __props__.__dict__["token"] = token + __props__.__dict__["token_id"] = token_id + return EdgecloudToken(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[_builtins.str]: + """ + Date-time when the token was created + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter + def expiration(self) -> pulumi.Output[_builtins.int]: + """ + Expiration time of the token, in seconds. Minimum is 600, Maximum is 15552000. Defaults to `3600` + """ + return pulumi.get(self, "expiration") + + @_builtins.property + @pulumi.getter(name="expiresAt") + def expires_at(self) -> pulumi.Output[_builtins.str]: + """ + Timestamp when the token expires + """ + return pulumi.get(self, "expires_at") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + ID of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="instanceName") + def instance_name(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Name of the Edge Cloud instance. + """ + return pulumi.get(self, "instance_name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the Edge Cloud instance is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter(name="recreateBefore") + def recreate_before(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + Number of seconds before expiration to trigger recreation of the token at. + """ + return pulumi.get(self, "recreate_before") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def token(self) -> pulumi.Output[_builtins.str]: + """ + Raw token. + """ + return pulumi.get(self, "token") + + @_builtins.property + @pulumi.getter(name="tokenId") + def token_id(self) -> pulumi.Output[_builtins.str]: + return pulumi.get(self, "token_id") + diff --git a/sdk/python/pulumi_stackit/get_edgecloud_instances.py b/sdk/python/pulumi_stackit/get_edgecloud_instances.py new file mode 100644 index 0000000..e4b6e3e --- /dev/null +++ b/sdk/python/pulumi_stackit/get_edgecloud_instances.py @@ -0,0 +1,136 @@ +# 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__ = [ + 'GetEdgecloudInstancesResult', + 'AwaitableGetEdgecloudInstancesResult', + 'get_edgecloud_instances', + 'get_edgecloud_instances_output', +] + +@pulumi.output_type +class GetEdgecloudInstancesResult: + """ + A collection of values returned by getEdgecloudInstances. + """ + def __init__(__self__, id=None, instances=None, project_id=None, region=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instances and not isinstance(instances, list): + raise TypeError("Expected argument 'instances' to be a list") + pulumi.set(__self__, "instances", instances) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def instances(self) -> Sequence['outputs.GetEdgecloudInstancesInstanceResult']: + """ + A list of Edge Cloud instances. + """ + return pulumi.get(self, "instances") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the Edge Cloud instances are associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + +class AwaitableGetEdgecloudInstancesResult(GetEdgecloudInstancesResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEdgecloudInstancesResult( + id=self.id, + instances=self.instances, + project_id=self.project_id, + region=self.region) + + +def get_edgecloud_instances(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEdgecloudInstancesResult: + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > 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. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID to which the Edge Cloud instances are associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getEdgecloudInstances:getEdgecloudInstances', __args__, opts=opts, typ=GetEdgecloudInstancesResult).value + + return AwaitableGetEdgecloudInstancesResult( + id=pulumi.get(__ret__, 'id'), + instances=pulumi.get(__ret__, 'instances'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region')) +def get_edgecloud_instances_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEdgecloudInstancesResult]: + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > 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. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID to which the Edge Cloud instances are associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getEdgecloudInstances:getEdgecloudInstances', __args__, opts=opts, typ=GetEdgecloudInstancesResult) + return __ret__.apply(lambda __response__: GetEdgecloudInstancesResult( + id=pulumi.get(__response__, 'id'), + instances=pulumi.get(__response__, 'instances'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_edgecloud_plans.py b/sdk/python/pulumi_stackit/get_edgecloud_plans.py new file mode 100644 index 0000000..c2f9545 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_edgecloud_plans.py @@ -0,0 +1,116 @@ +# 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__ = [ + 'GetEdgecloudPlansResult', + 'AwaitableGetEdgecloudPlansResult', + 'get_edgecloud_plans', + 'get_edgecloud_plans_output', +] + +@pulumi.output_type +class GetEdgecloudPlansResult: + """ + A collection of values returned by getEdgecloudPlans. + """ + def __init__(__self__, id=None, plans=None, project_id=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if plans and not isinstance(plans, list): + raise TypeError("Expected argument 'plans' to be a list") + pulumi.set(__self__, "plans", plans) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def plans(self) -> Sequence['outputs.GetEdgecloudPlansPlanResult']: + """ + A list of Edge Cloud Plans. + """ + return pulumi.get(self, "plans") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID the Plans belongs to. + """ + return pulumi.get(self, "project_id") + + +class AwaitableGetEdgecloudPlansResult(GetEdgecloudPlansResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetEdgecloudPlansResult( + id=self.id, + plans=self.plans, + project_id=self.project_id) + + +def get_edgecloud_plans(project_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetEdgecloudPlansResult: + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > 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. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID the Plans belongs to. + """ + __args__ = dict() + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getEdgecloudPlans:getEdgecloudPlans', __args__, opts=opts, typ=GetEdgecloudPlansResult).value + + return AwaitableGetEdgecloudPlansResult( + id=pulumi.get(__ret__, 'id'), + plans=pulumi.get(__ret__, 'plans'), + project_id=pulumi.get(__ret__, 'project_id')) +def get_edgecloud_plans_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetEdgecloudPlansResult]: + """ + Edge Cloud is in private Beta and not generally available. + You can contact support if you are interested in trying it out. + + > 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. + + ## Example Usage + + + :param _builtins.str project_id: STACKIT project ID the Plans belongs to. + """ + __args__ = dict() + __args__['projectId'] = project_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getEdgecloudPlans:getEdgecloudPlans', __args__, opts=opts, typ=GetEdgecloudPlansResult) + return __ret__.apply(lambda __response__: GetEdgecloudPlansResult( + id=pulumi.get(__response__, 'id'), + plans=pulumi.get(__response__, 'plans'), + project_id=pulumi.get(__response__, 'project_id'))) diff --git a/sdk/python/pulumi_stackit/get_logs_instance.py b/sdk/python/pulumi_stackit/get_logs_instance.py new file mode 100644 index 0000000..a300440 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_logs_instance.py @@ -0,0 +1,293 @@ +# 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__ = [ + 'GetLogsInstanceResult', + 'AwaitableGetLogsInstanceResult', + 'get_logs_instance', + 'get_logs_instance_output', +] + +@pulumi.output_type +class GetLogsInstanceResult: + """ + A collection of values returned by getLogsInstance. + """ + def __init__(__self__, acls=None, created=None, datasource_url=None, description=None, display_name=None, id=None, ingest_otlp_url=None, ingest_url=None, instance_id=None, project_id=None, query_range_url=None, query_url=None, region=None, retention_days=None, status=None): + if acls and not isinstance(acls, list): + raise TypeError("Expected argument 'acls' to be a list") + pulumi.set(__self__, "acls", acls) + if created and not isinstance(created, str): + raise TypeError("Expected argument 'created' to be a str") + pulumi.set(__self__, "created", created) + if datasource_url and not isinstance(datasource_url, str): + raise TypeError("Expected argument 'datasource_url' to be a str") + pulumi.set(__self__, "datasource_url", datasource_url) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ingest_otlp_url and not isinstance(ingest_otlp_url, str): + raise TypeError("Expected argument 'ingest_otlp_url' to be a str") + pulumi.set(__self__, "ingest_otlp_url", ingest_otlp_url) + if ingest_url and not isinstance(ingest_url, str): + raise TypeError("Expected argument 'ingest_url' to be a str") + pulumi.set(__self__, "ingest_url", ingest_url) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if query_range_url and not isinstance(query_range_url, str): + raise TypeError("Expected argument 'query_range_url' to be a str") + pulumi.set(__self__, "query_range_url", query_range_url) + if query_url and not isinstance(query_url, str): + raise TypeError("Expected argument 'query_url' to be a str") + pulumi.set(__self__, "query_url", query_url) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if retention_days and not isinstance(retention_days, int): + raise TypeError("Expected argument 'retention_days' to be a int") + pulumi.set(__self__, "retention_days", retention_days) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def acls(self) -> Sequence[_builtins.str]: + """ + The access control list entries for the Logs instance + """ + return pulumi.get(self, "acls") + + @_builtins.property + @pulumi.getter + def created(self) -> _builtins.str: + """ + The date and time the creation of the Logs instance was initiated + """ + return pulumi.get(self, "created") + + @_builtins.property + @pulumi.getter(name="datasourceUrl") + def datasource_url(self) -> _builtins.str: + """ + Logs instance datasource URL, can be used in Grafana as datasource URL + """ + return pulumi.get(self, "datasource_url") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the Logs instance + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The displayed name of the Logs instance + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="ingestOtlpUrl") + def ingest_otlp_url(self) -> _builtins.str: + """ + The Logs instance's ingest logs via OTLP URL + """ + return pulumi.get(self, "ingest_otlp_url") + + @_builtins.property + @pulumi.getter(name="ingestUrl") + def ingest_url(self) -> _builtins.str: + """ + The logs instance's ingest logs URL + """ + return pulumi.get(self, "ingest_url") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The Logs instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the Logs instance + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter(name="queryRangeUrl") + def query_range_url(self) -> _builtins.str: + """ + The Logs instance's query range URL + """ + return pulumi.get(self, "query_range_url") + + @_builtins.property + @pulumi.getter(name="queryUrl") + def query_url(self) -> _builtins.str: + """ + The Logs instance's query URL + """ + return pulumi.get(self, "query_url") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> _builtins.int: + """ + The log retention time in days + """ + return pulumi.get(self, "retention_days") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + """ + return pulumi.get(self, "status") + + +class AwaitableGetLogsInstanceResult(GetLogsInstanceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetLogsInstanceResult( + acls=self.acls, + created=self.created, + datasource_url=self.datasource_url, + description=self.description, + display_name=self.display_name, + id=self.id, + ingest_otlp_url=self.ingest_otlp_url, + ingest_url=self.ingest_url, + instance_id=self.instance_id, + project_id=self.project_id, + query_range_url=self.query_range_url, + query_url=self.query_url, + region=self.region, + retention_days=self.retention_days, + status=self.status) + + +def get_logs_instance(instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetLogsInstanceResult: + """ + Logs instance data source schema. + + > 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. + + ## Example Usage + + + :param _builtins.str instance_id: The Logs instance ID + :param _builtins.str project_id: STACKIT project ID associated with the Logs instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getLogsInstance:getLogsInstance', __args__, opts=opts, typ=GetLogsInstanceResult).value + + return AwaitableGetLogsInstanceResult( + acls=pulumi.get(__ret__, 'acls'), + created=pulumi.get(__ret__, 'created'), + datasource_url=pulumi.get(__ret__, 'datasource_url'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + id=pulumi.get(__ret__, 'id'), + ingest_otlp_url=pulumi.get(__ret__, 'ingest_otlp_url'), + ingest_url=pulumi.get(__ret__, 'ingest_url'), + instance_id=pulumi.get(__ret__, 'instance_id'), + project_id=pulumi.get(__ret__, 'project_id'), + query_range_url=pulumi.get(__ret__, 'query_range_url'), + query_url=pulumi.get(__ret__, 'query_url'), + region=pulumi.get(__ret__, 'region'), + retention_days=pulumi.get(__ret__, 'retention_days'), + status=pulumi.get(__ret__, 'status')) +def get_logs_instance_output(instance_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetLogsInstanceResult]: + """ + Logs instance data source schema. + + > 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. + + ## Example Usage + + + :param _builtins.str instance_id: The Logs instance ID + :param _builtins.str project_id: STACKIT project ID associated with the Logs instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getLogsInstance:getLogsInstance', __args__, opts=opts, typ=GetLogsInstanceResult) + return __ret__.apply(lambda __response__: GetLogsInstanceResult( + acls=pulumi.get(__response__, 'acls'), + created=pulumi.get(__response__, 'created'), + datasource_url=pulumi.get(__response__, 'datasource_url'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + id=pulumi.get(__response__, 'id'), + ingest_otlp_url=pulumi.get(__response__, 'ingest_otlp_url'), + ingest_url=pulumi.get(__response__, 'ingest_url'), + instance_id=pulumi.get(__response__, 'instance_id'), + project_id=pulumi.get(__response__, 'project_id'), + query_range_url=pulumi.get(__response__, 'query_range_url'), + query_url=pulumi.get(__response__, 'query_url'), + region=pulumi.get(__response__, 'region'), + retention_days=pulumi.get(__response__, 'retention_days'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_stackit/get_routing_table.py b/sdk/python/pulumi_stackit/get_routing_table.py index ef86c96..4fa7a01 100644 --- a/sdk/python/pulumi_stackit/get_routing_table.py +++ b/sdk/python/pulumi_stackit/get_routing_table.py @@ -26,7 +26,7 @@ class GetRoutingTableResult: """ A collection of values returned by getRoutingTable. """ - def __init__(__self__, created_at=None, default=None, description=None, id=None, labels=None, name=None, network_area_id=None, organization_id=None, region=None, routing_table_id=None, system_routes=None, updated_at=None): + def __init__(__self__, created_at=None, default=None, description=None, dynamic_routes=None, id=None, labels=None, name=None, network_area_id=None, organization_id=None, region=None, routing_table_id=None, system_routes=None, updated_at=None): if created_at and not isinstance(created_at, str): raise TypeError("Expected argument 'created_at' to be a str") pulumi.set(__self__, "created_at", created_at) @@ -36,6 +36,9 @@ def __init__(__self__, created_at=None, default=None, description=None, id=None, if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if dynamic_routes and not isinstance(dynamic_routes, bool): + raise TypeError("Expected argument 'dynamic_routes' to be a bool") + pulumi.set(__self__, "dynamic_routes", dynamic_routes) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -88,6 +91,14 @@ def description(self) -> _builtins.str: """ return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> _builtins.bool: + """ + This controls whether dynamic routes are propagated to this routing table + """ + return pulumi.get(self, "dynamic_routes") + @_builtins.property @pulumi.getter def id(self) -> _builtins.str: @@ -167,6 +178,7 @@ def __await__(self): created_at=self.created_at, default=self.default, description=self.description, + dynamic_routes=self.dynamic_routes, id=self.id, labels=self.labels, name=self.name, @@ -208,6 +220,7 @@ def get_routing_table(network_area_id: Optional[_builtins.str] = None, created_at=pulumi.get(__ret__, 'created_at'), default=pulumi.get(__ret__, 'default'), description=pulumi.get(__ret__, 'description'), + dynamic_routes=pulumi.get(__ret__, 'dynamic_routes'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), @@ -246,6 +259,7 @@ def get_routing_table_output(network_area_id: Optional[pulumi.Input[_builtins.st created_at=pulumi.get(__response__, 'created_at'), default=pulumi.get(__response__, 'default'), description=pulumi.get(__response__, 'description'), + dynamic_routes=pulumi.get(__response__, 'dynamic_routes'), id=pulumi.get(__response__, 'id'), labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), diff --git a/sdk/python/pulumi_stackit/get_volume.py b/sdk/python/pulumi_stackit/get_volume.py index eecb322..a5f8499 100644 --- a/sdk/python/pulumi_stackit/get_volume.py +++ b/sdk/python/pulumi_stackit/get_volume.py @@ -27,13 +27,16 @@ class GetVolumeResult: """ A collection of values returned by getVolume. """ - def __init__(__self__, availability_zone=None, description=None, id=None, labels=None, name=None, performance_class=None, project_id=None, region=None, server_id=None, size=None, source=None, volume_id=None): + def __init__(__self__, availability_zone=None, description=None, encrypted=None, id=None, labels=None, name=None, performance_class=None, project_id=None, region=None, server_id=None, size=None, source=None, volume_id=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) + if encrypted and not isinstance(encrypted, bool): + raise TypeError("Expected argument 'encrypted' to be a bool") + pulumi.set(__self__, "encrypted", encrypted) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -81,6 +84,14 @@ def description(self) -> _builtins.str: """ return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter + def encrypted(self) -> _builtins.bool: + """ + Indicates if the volume is encrypted. + """ + return pulumi.get(self, "encrypted") + @_builtins.property @pulumi.getter def id(self) -> _builtins.str: @@ -167,6 +178,7 @@ def __await__(self): return GetVolumeResult( availability_zone=self.availability_zone, description=self.description, + encrypted=self.encrypted, id=self.id, labels=self.labels, name=self.name, @@ -203,6 +215,7 @@ def get_volume(project_id: Optional[_builtins.str] = None, return AwaitableGetVolumeResult( availability_zone=pulumi.get(__ret__, 'availability_zone'), description=pulumi.get(__ret__, 'description'), + encrypted=pulumi.get(__ret__, 'encrypted'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), @@ -236,6 +249,7 @@ def get_volume_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, return __ret__.apply(lambda __response__: GetVolumeResult( availability_zone=pulumi.get(__response__, 'availability_zone'), description=pulumi.get(__response__, 'description'), + encrypted=pulumi.get(__response__, 'encrypted'), id=pulumi.get(__response__, 'id'), labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), diff --git a/sdk/python/pulumi_stackit/logs_instance.py b/sdk/python/pulumi_stackit/logs_instance.py new file mode 100644 index 0000000..df63d20 --- /dev/null +++ b/sdk/python/pulumi_stackit/logs_instance.py @@ -0,0 +1,621 @@ +# 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__ = ['LogsInstanceArgs', 'LogsInstance'] + +@pulumi.input_type +class LogsInstanceArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + retention_days: pulumi.Input[_builtins.int], + acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a LogsInstance resource. + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Logs instance + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs instance + :param pulumi.Input[_builtins.int] retention_days: The log retention time in days + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list entries for the Logs instance + :param pulumi.Input[_builtins.str] description: The description of the Logs instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "retention_days", retention_days) + if acls is not None: + pulumi.set(__self__, "acls", acls) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The displayed name of the Logs instance + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the Logs instance + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Input[_builtins.int]: + """ + The log retention time in days + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "retention_days", value) + + @_builtins.property + @pulumi.getter + def acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The access control list entries for the Logs instance + """ + return pulumi.get(self, "acls") + + @acls.setter + def acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "acls", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The description of the Logs instance + """ + 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 region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _LogsInstanceState: + def __init__(__self__, *, + acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + created: Optional[pulumi.Input[_builtins.str]] = None, + datasource_url: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + ingest_otlp_url: Optional[pulumi.Input[_builtins.str]] = None, + ingest_url: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + query_range_url: Optional[pulumi.Input[_builtins.str]] = None, + query_url: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + retention_days: Optional[pulumi.Input[_builtins.int]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering LogsInstance resources. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list entries for the Logs instance + :param pulumi.Input[_builtins.str] created: The date and time the creation of the Logs instance was initiated + :param pulumi.Input[_builtins.str] datasource_url: Logs instance datasource URL, can be used in Grafana as datasource URL + :param pulumi.Input[_builtins.str] description: The description of the Logs instance + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Logs instance + :param pulumi.Input[_builtins.str] ingest_otlp_url: The Logs instance's ingest logs via OTLP URL + :param pulumi.Input[_builtins.str] ingest_url: The logs instance's ingest logs URL + :param pulumi.Input[_builtins.str] instance_id: The Logs instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs instance + :param pulumi.Input[_builtins.str] query_range_url: The Logs instance's query range URL + :param pulumi.Input[_builtins.str] query_url: The Logs instance's query URL + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] retention_days: The log retention time in days + :param pulumi.Input[_builtins.str] status: The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + """ + if acls is not None: + pulumi.set(__self__, "acls", acls) + if created is not None: + pulumi.set(__self__, "created", created) + if datasource_url is not None: + pulumi.set(__self__, "datasource_url", datasource_url) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if ingest_otlp_url is not None: + pulumi.set(__self__, "ingest_otlp_url", ingest_otlp_url) + if ingest_url is not None: + pulumi.set(__self__, "ingest_url", ingest_url) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if query_range_url is not None: + pulumi.set(__self__, "query_range_url", query_range_url) + if query_url is not None: + pulumi.set(__self__, "query_url", query_url) + if region is not None: + pulumi.set(__self__, "region", region) + if retention_days is not None: + pulumi.set(__self__, "retention_days", retention_days) + if status is not None: + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + The access control list entries for the Logs instance + """ + return pulumi.get(self, "acls") + + @acls.setter + def acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "acls", value) + + @_builtins.property + @pulumi.getter + def created(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The date and time the creation of the Logs instance was initiated + """ + return pulumi.get(self, "created") + + @created.setter + def created(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "created", value) + + @_builtins.property + @pulumi.getter(name="datasourceUrl") + def datasource_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Logs instance datasource URL, can be used in Grafana as datasource URL + """ + return pulumi.get(self, "datasource_url") + + @datasource_url.setter + def datasource_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "datasource_url", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The description of the Logs instance + """ + 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(name="displayName") + def display_name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The displayed name of the Logs instance + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="ingestOtlpUrl") + def ingest_otlp_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The Logs instance's ingest logs via OTLP URL + """ + return pulumi.get(self, "ingest_otlp_url") + + @ingest_otlp_url.setter + def ingest_otlp_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "ingest_otlp_url", value) + + @_builtins.property + @pulumi.getter(name="ingestUrl") + def ingest_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The logs instance's ingest logs URL + """ + return pulumi.get(self, "ingest_url") + + @ingest_url.setter + def ingest_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "ingest_url", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The Logs instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID associated with the Logs instance + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="queryRangeUrl") + def query_range_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The Logs instance's query range URL + """ + return pulumi.get(self, "query_range_url") + + @query_range_url.setter + def query_range_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "query_range_url", value) + + @_builtins.property + @pulumi.getter(name="queryUrl") + def query_url(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The Logs instance's query URL + """ + return pulumi.get(self, "query_url") + + @query_url.setter + def query_url(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "query_url", value) + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The log retention time in days + """ + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "retention_days", value) + + @_builtins.property + @pulumi.getter + def status(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "status", value) + + +@pulumi.type_token("stackit:index/logsInstance:LogsInstance") +class LogsInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + retention_days: Optional[pulumi.Input[_builtins.int]] = None, + __props__=None): + """ + Logs instance resource schema. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list entries for the Logs instance + :param pulumi.Input[_builtins.str] description: The description of the Logs instance + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Logs instance + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] retention_days: The log retention time in days + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: LogsInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Logs instance resource schema. + + > This resource 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. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param LogsInstanceArgs 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(LogsInstanceArgs, 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, + acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + retention_days: Optional[pulumi.Input[_builtins.int]] = 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__ = LogsInstanceArgs.__new__(LogsInstanceArgs) + + __props__.__dict__["acls"] = acls + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + if retention_days is None and not opts.urn: + raise TypeError("Missing required property 'retention_days'") + __props__.__dict__["retention_days"] = retention_days + __props__.__dict__["created"] = None + __props__.__dict__["datasource_url"] = None + __props__.__dict__["ingest_otlp_url"] = None + __props__.__dict__["ingest_url"] = None + __props__.__dict__["instance_id"] = None + __props__.__dict__["query_range_url"] = None + __props__.__dict__["query_url"] = None + __props__.__dict__["status"] = None + super(LogsInstance, __self__).__init__( + 'stackit:index/logsInstance:LogsInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + created: Optional[pulumi.Input[_builtins.str]] = None, + datasource_url: Optional[pulumi.Input[_builtins.str]] = None, + description: Optional[pulumi.Input[_builtins.str]] = None, + display_name: Optional[pulumi.Input[_builtins.str]] = None, + ingest_otlp_url: Optional[pulumi.Input[_builtins.str]] = None, + ingest_url: Optional[pulumi.Input[_builtins.str]] = None, + instance_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + query_range_url: Optional[pulumi.Input[_builtins.str]] = None, + query_url: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + retention_days: Optional[pulumi.Input[_builtins.int]] = None, + status: Optional[pulumi.Input[_builtins.str]] = None) -> 'LogsInstance': + """ + Get an existing LogsInstance 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[Sequence[pulumi.Input[_builtins.str]]] acls: The access control list entries for the Logs instance + :param pulumi.Input[_builtins.str] created: The date and time the creation of the Logs instance was initiated + :param pulumi.Input[_builtins.str] datasource_url: Logs instance datasource URL, can be used in Grafana as datasource URL + :param pulumi.Input[_builtins.str] description: The description of the Logs instance + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Logs instance + :param pulumi.Input[_builtins.str] ingest_otlp_url: The Logs instance's ingest logs via OTLP URL + :param pulumi.Input[_builtins.str] ingest_url: The logs instance's ingest logs URL + :param pulumi.Input[_builtins.str] instance_id: The Logs instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs instance + :param pulumi.Input[_builtins.str] query_range_url: The Logs instance's query range URL + :param pulumi.Input[_builtins.str] query_url: The Logs instance's query URL + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] retention_days: The log retention time in days + :param pulumi.Input[_builtins.str] status: The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _LogsInstanceState.__new__(_LogsInstanceState) + + __props__.__dict__["acls"] = acls + __props__.__dict__["created"] = created + __props__.__dict__["datasource_url"] = datasource_url + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["ingest_otlp_url"] = ingest_otlp_url + __props__.__dict__["ingest_url"] = ingest_url + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["query_range_url"] = query_range_url + __props__.__dict__["query_url"] = query_url + __props__.__dict__["region"] = region + __props__.__dict__["retention_days"] = retention_days + __props__.__dict__["status"] = status + return LogsInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def acls(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: + """ + The access control list entries for the Logs instance + """ + return pulumi.get(self, "acls") + + @_builtins.property + @pulumi.getter + def created(self) -> pulumi.Output[_builtins.str]: + """ + The date and time the creation of the Logs instance was initiated + """ + return pulumi.get(self, "created") + + @_builtins.property + @pulumi.getter(name="datasourceUrl") + def datasource_url(self) -> pulumi.Output[_builtins.str]: + """ + Logs instance datasource URL, can be used in Grafana as datasource URL + """ + return pulumi.get(self, "datasource_url") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description of the Logs instance + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The displayed name of the Logs instance + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="ingestOtlpUrl") + def ingest_otlp_url(self) -> pulumi.Output[_builtins.str]: + """ + The Logs instance's ingest logs via OTLP URL + """ + return pulumi.get(self, "ingest_otlp_url") + + @_builtins.property + @pulumi.getter(name="ingestUrl") + def ingest_url(self) -> pulumi.Output[_builtins.str]: + """ + The logs instance's ingest logs URL + """ + return pulumi.get(self, "ingest_url") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The Logs instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the Logs instance + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter(name="queryRangeUrl") + def query_range_url(self) -> pulumi.Output[_builtins.str]: + """ + The Logs instance's query range URL + """ + return pulumi.get(self, "query_range_url") + + @_builtins.property + @pulumi.getter(name="queryUrl") + def query_url(self) -> pulumi.Output[_builtins.str]: + """ + The Logs instance's query URL + """ + return pulumi.get(self, "query_url") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Output[_builtins.int]: + """ + The log retention time in days + """ + return pulumi.get(self, "retention_days") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_stackit/network_area.py b/sdk/python/pulumi_stackit/network_area.py index e598632..1ea9857 100644 --- a/sdk/python/pulumi_stackit/network_area.py +++ b/sdk/python/pulumi_stackit/network_area.py @@ -418,10 +418,7 @@ def __init__(__self__, transfer_network: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Network area resource schema. - - ## Example Usage - + Create a NetworkArea resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. @@ -441,10 +438,7 @@ def __init__(__self__, args: NetworkAreaArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Network area resource schema. - - ## Example Usage - + Create a NetworkArea resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param NetworkAreaArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index b893014..c755970 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -85,12 +85,15 @@ 'SqlserverflexInstanceFlavor', 'SqlserverflexInstanceOptions', 'SqlserverflexInstanceStorage', + 'VolumeEncryptionParameters', 'VolumeSource', 'GetCdnCustomDomainCertificateResult', 'GetCdnDistributionConfigResult', 'GetCdnDistributionConfigBackendResult', 'GetCdnDistributionConfigOptimizerResult', 'GetCdnDistributionDomainResult', + 'GetEdgecloudInstancesInstanceResult', + 'GetEdgecloudPlansPlanResult', 'GetImageChecksumResult', 'GetImageConfigResult', 'GetImageV2ChecksumResult', @@ -5198,6 +5201,124 @@ def size(self) -> Optional[_builtins.int]: return pulumi.get(self, "size") +@pulumi.output_type +class VolumeEncryptionParameters(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "kekKeyId": + suggest = "kek_key_id" + elif key == "kekKeyVersion": + suggest = "kek_key_version" + elif key == "kekKeyringId": + suggest = "kek_keyring_id" + elif key == "serviceAccount": + suggest = "service_account" + elif key == "keyPayloadBase64": + suggest = "key_payload_base64" + elif key == "keyPayloadBase64Wo": + suggest = "key_payload_base64_wo" + elif key == "keyPayloadBase64WoVersion": + suggest = "key_payload_base64_wo_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VolumeEncryptionParameters. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VolumeEncryptionParameters.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VolumeEncryptionParameters.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + kek_key_id: _builtins.str, + kek_key_version: _builtins.int, + kek_keyring_id: _builtins.str, + service_account: _builtins.str, + key_payload_base64: Optional[_builtins.str] = None, + key_payload_base64_wo: Optional[_builtins.str] = None, + key_payload_base64_wo_version: Optional[_builtins.int] = None): + """ + :param _builtins.str kek_key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.int kek_key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str kek_keyring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param _builtins.str service_account: Service-Account linked to the Key within the STACKIT-KMS. + :param _builtins.str key_payload_base64: Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + :param _builtins.str key_payload_base64_wo: **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + :param _builtins.int key_payload_base64_wo_version: Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. + """ + pulumi.set(__self__, "kek_key_id", kek_key_id) + pulumi.set(__self__, "kek_key_version", kek_key_version) + pulumi.set(__self__, "kek_keyring_id", kek_keyring_id) + pulumi.set(__self__, "service_account", service_account) + if key_payload_base64 is not None: + pulumi.set(__self__, "key_payload_base64", key_payload_base64) + if key_payload_base64_wo is not None: + pulumi.set(__self__, "key_payload_base64_wo", key_payload_base64_wo) + if key_payload_base64_wo_version is not None: + pulumi.set(__self__, "key_payload_base64_wo_version", key_payload_base64_wo_version) + + @_builtins.property + @pulumi.getter(name="kekKeyId") + def kek_key_id(self) -> _builtins.str: + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_id") + + @_builtins.property + @pulumi.getter(name="kekKeyVersion") + def kek_key_version(self) -> _builtins.int: + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + return pulumi.get(self, "kek_key_version") + + @_builtins.property + @pulumi.getter(name="kekKeyringId") + def kek_keyring_id(self) -> _builtins.str: + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + return pulumi.get(self, "kek_keyring_id") + + @_builtins.property + @pulumi.getter(name="serviceAccount") + def service_account(self) -> _builtins.str: + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + return pulumi.get(self, "service_account") + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64") + def key_payload_base64(self) -> Optional[_builtins.str]: + """ + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + return pulumi.get(self, "key_payload_base64") + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64Wo") + def key_payload_base64_wo(self) -> Optional[_builtins.str]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded. + """ + return pulumi.get(self, "key_payload_base64_wo") + + @_builtins.property + @pulumi.getter(name="keyPayloadBase64WoVersion") + def key_payload_base64_wo_version(self) -> Optional[_builtins.int]: + """ + Used together with `key_payload_base64_wo` to trigger an re-create. Increment this value when an update to `key_payload_base64_wo` is required. + """ + return pulumi.get(self, "key_payload_base64_wo_version") + + @pulumi.output_type class VolumeSource(dict): def __init__(__self__, *, @@ -5411,6 +5532,152 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class GetEdgecloudInstancesInstanceResult(dict): + def __init__(__self__, *, + created: _builtins.str, + description: _builtins.str, + display_name: _builtins.str, + frontend_url: _builtins.str, + instance_id: _builtins.str, + plan_id: _builtins.str, + region: _builtins.str, + status: _builtins.str): + """ + :param _builtins.str created: The date and time the instance was created. + :param _builtins.str description: Description of the instance. + :param _builtins.str display_name: The display name of the instance. + :param _builtins.str frontend_url: Frontend URL for the Edge Cloud instance. + :param _builtins.str instance_id: The ID of the instance. + :param _builtins.str plan_id: The plan ID for the instance. + :param _builtins.str region: The region where the instance is located. + :param _builtins.str status: The status of the instance. + """ + pulumi.set(__self__, "created", created) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "frontend_url", frontend_url) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "plan_id", plan_id) + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def created(self) -> _builtins.str: + """ + The date and time the instance was created. + """ + return pulumi.get(self, "created") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + Description of the instance. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The display name of the instance. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="frontendUrl") + def frontend_url(self) -> _builtins.str: + """ + Frontend URL for the Edge Cloud instance. + """ + return pulumi.get(self, "frontend_url") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The ID of the instance. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> _builtins.str: + """ + The plan ID for the instance. + """ + return pulumi.get(self, "plan_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The region where the instance is located. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the instance. + """ + return pulumi.get(self, "status") + + +@pulumi.output_type +class GetEdgecloudPlansPlanResult(dict): + def __init__(__self__, *, + description: _builtins.str, + id: _builtins.str, + max_edge_hosts: _builtins.int, + name: _builtins.str): + """ + :param _builtins.str description: Description of the plan. + :param _builtins.str id: The ID of the plan. + :param _builtins.int max_edge_hosts: Maximum number of Edge Cloud hosts that can be used. + :param _builtins.str name: The name of the plan. + """ + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "max_edge_hosts", max_edge_hosts) + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + Description of the plan. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The ID of the plan. + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="maxEdgeHosts") + def max_edge_hosts(self) -> _builtins.int: + """ + Maximum number of Edge Cloud hosts that can be used. + """ + return pulumi.get(self, "max_edge_hosts") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the plan. + """ + return pulumi.get(self, "name") + + @pulumi.output_type class GetImageChecksumResult(dict): def __init__(__self__, *, @@ -8486,6 +8753,7 @@ def __init__(__self__, *, created_at: _builtins.str, default: _builtins.bool, description: _builtins.str, + dynamic_routes: _builtins.bool, labels: Mapping[str, _builtins.str], name: _builtins.str, routing_table_id: _builtins.str, @@ -8495,6 +8763,7 @@ def __init__(__self__, *, :param _builtins.str created_at: Date-time when the routing table was created :param _builtins.bool default: When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. :param _builtins.str description: Description of the routing table. + :param _builtins.bool dynamic_routes: This controls whether dynamic routes are propagated to this routing table :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container :param _builtins.str name: The name of the routing table. :param _builtins.str routing_table_id: The routing tables ID. @@ -8504,6 +8773,7 @@ def __init__(__self__, *, pulumi.set(__self__, "created_at", created_at) pulumi.set(__self__, "default", default) pulumi.set(__self__, "description", description) + pulumi.set(__self__, "dynamic_routes", dynamic_routes) pulumi.set(__self__, "labels", labels) pulumi.set(__self__, "name", name) pulumi.set(__self__, "routing_table_id", routing_table_id) @@ -8534,6 +8804,14 @@ def description(self) -> _builtins.str: """ return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> _builtins.bool: + """ + This controls whether dynamic routes are propagated to this routing table + """ + return pulumi.get(self, "dynamic_routes") + @_builtins.property @pulumi.getter def labels(self) -> Mapping[str, _builtins.str]: diff --git a/sdk/python/pulumi_stackit/postgresflex_user.py b/sdk/python/pulumi_stackit/postgresflex_user.py index 41e242b..c26d89b 100644 --- a/sdk/python/pulumi_stackit/postgresflex_user.py +++ b/sdk/python/pulumi_stackit/postgresflex_user.py @@ -28,7 +28,7 @@ def __init__(__self__, *, The set of arguments for constructing a PostgresflexUser resource. :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Possible values are: `login`, `createdb`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "instance_id", instance_id) @@ -66,7 +66,7 @@ def project_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def roles(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: """ - Database access levels for the user. Possible values are: `login`, `createdb`. + Database access levels for the user. """ return pulumi.get(self, "roles") @@ -114,7 +114,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Possible values are: `login`, `createdb`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. :param pulumi.Input[_builtins.str] user_id: User ID. """ if host is not None: @@ -205,7 +205,7 @@ def region(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - Database access levels for the user. Possible values are: `login`, `createdb`. + Database access levels for the user. """ return pulumi.get(self, "roles") @@ -266,7 +266,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Possible values are: `login`, `createdb`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. """ ... @overload @@ -358,7 +358,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] instance_id: ID of the PostgresFlex instance. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Possible values are: `login`, `createdb`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. :param pulumi.Input[_builtins.str] user_id: User ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -420,7 +420,7 @@ def region(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def roles(self) -> pulumi.Output[Sequence[_builtins.str]]: """ - Database access levels for the user. Possible values are: `login`, `createdb`. + Database access levels for the user. """ return pulumi.get(self, "roles") diff --git a/sdk/python/pulumi_stackit/provider.py b/sdk/python/pulumi_stackit/provider.py index 244ea11..3da8b30 100644 --- a/sdk/python/pulumi_stackit/provider.py +++ b/sdk/python/pulumi_stackit/provider.py @@ -24,6 +24,7 @@ def __init__(__self__, *, credentials_path: Optional[pulumi.Input[_builtins.str]] = None, default_region: Optional[pulumi.Input[_builtins.str]] = None, dns_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + edgecloud_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, enable_beta_resources: Optional[pulumi.Input[_builtins.bool]] = None, experiments: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, git_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -31,6 +32,7 @@ def __init__(__self__, *, kms_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, loadbalancer_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, logme_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + logs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mariadb_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, modelserving_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mongodbflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -65,6 +67,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. :param pulumi.Input[_builtins.str] default_region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] dns_custom_endpoint: Custom endpoint for the DNS service + :param pulumi.Input[_builtins.str] edgecloud_custom_endpoint: Custom endpoint for the Edge Cloud service :param pulumi.Input[_builtins.bool] enable_beta_resources: Enable beta resources. Default is false. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network :param pulumi.Input[_builtins.str] git_custom_endpoint: Custom endpoint for the Git service @@ -72,6 +75,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] kms_custom_endpoint: Custom endpoint for the KMS service :param pulumi.Input[_builtins.str] loadbalancer_custom_endpoint: Custom endpoint for the Load Balancer service :param pulumi.Input[_builtins.str] logme_custom_endpoint: Custom endpoint for the LogMe service + :param pulumi.Input[_builtins.str] logs_custom_endpoint: Custom endpoint for the Logs service :param pulumi.Input[_builtins.str] mariadb_custom_endpoint: Custom endpoint for the MariaDB service :param pulumi.Input[_builtins.str] modelserving_custom_endpoint: Custom endpoint for the AI Model Serving service :param pulumi.Input[_builtins.str] mongodbflex_custom_endpoint: Custom endpoint for the MongoDB Flex service @@ -110,6 +114,8 @@ def __init__(__self__, *, pulumi.set(__self__, "default_region", default_region) if dns_custom_endpoint is not None: pulumi.set(__self__, "dns_custom_endpoint", dns_custom_endpoint) + if edgecloud_custom_endpoint is not None: + pulumi.set(__self__, "edgecloud_custom_endpoint", edgecloud_custom_endpoint) if enable_beta_resources is not None: pulumi.set(__self__, "enable_beta_resources", enable_beta_resources) if experiments is not None: @@ -124,6 +130,8 @@ def __init__(__self__, *, pulumi.set(__self__, "loadbalancer_custom_endpoint", loadbalancer_custom_endpoint) if logme_custom_endpoint is not None: pulumi.set(__self__, "logme_custom_endpoint", logme_custom_endpoint) + if logs_custom_endpoint is not None: + pulumi.set(__self__, "logs_custom_endpoint", logs_custom_endpoint) if mariadb_custom_endpoint is not None: pulumi.set(__self__, "mariadb_custom_endpoint", mariadb_custom_endpoint) if modelserving_custom_endpoint is not None: @@ -248,6 +256,18 @@ def dns_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: def dns_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "dns_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="edgecloudCustomEndpoint") + def edgecloud_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom endpoint for the Edge Cloud service + """ + return pulumi.get(self, "edgecloud_custom_endpoint") + + @edgecloud_custom_endpoint.setter + def edgecloud_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "edgecloud_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="enableBetaResources") def enable_beta_resources(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -332,6 +352,18 @@ def logme_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: def logme_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "logme_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="logsCustomEndpoint") + def logs_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom endpoint for the Logs service + """ + return pulumi.get(self, "logs_custom_endpoint") + + @logs_custom_endpoint.setter + def logs_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "logs_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="mariadbCustomEndpoint") def mariadb_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -671,6 +703,7 @@ def __init__(__self__, credentials_path: Optional[pulumi.Input[_builtins.str]] = None, default_region: Optional[pulumi.Input[_builtins.str]] = None, dns_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + edgecloud_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, enable_beta_resources: Optional[pulumi.Input[_builtins.bool]] = None, experiments: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, git_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -678,6 +711,7 @@ def __init__(__self__, kms_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, loadbalancer_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, logme_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + logs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mariadb_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, modelserving_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mongodbflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -719,6 +753,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. :param pulumi.Input[_builtins.str] default_region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] dns_custom_endpoint: Custom endpoint for the DNS service + :param pulumi.Input[_builtins.str] edgecloud_custom_endpoint: Custom endpoint for the Edge Cloud service :param pulumi.Input[_builtins.bool] enable_beta_resources: Enable beta resources. Default is false. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network :param pulumi.Input[_builtins.str] git_custom_endpoint: Custom endpoint for the Git service @@ -726,6 +761,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] kms_custom_endpoint: Custom endpoint for the KMS service :param pulumi.Input[_builtins.str] loadbalancer_custom_endpoint: Custom endpoint for the Load Balancer service :param pulumi.Input[_builtins.str] logme_custom_endpoint: Custom endpoint for the LogMe service + :param pulumi.Input[_builtins.str] logs_custom_endpoint: Custom endpoint for the Logs service :param pulumi.Input[_builtins.str] mariadb_custom_endpoint: Custom endpoint for the MariaDB service :param pulumi.Input[_builtins.str] modelserving_custom_endpoint: Custom endpoint for the AI Model Serving service :param pulumi.Input[_builtins.str] mongodbflex_custom_endpoint: Custom endpoint for the MongoDB Flex service @@ -786,6 +822,7 @@ def _internal_init(__self__, credentials_path: Optional[pulumi.Input[_builtins.str]] = None, default_region: Optional[pulumi.Input[_builtins.str]] = None, dns_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + edgecloud_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, enable_beta_resources: Optional[pulumi.Input[_builtins.bool]] = None, experiments: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, git_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -793,6 +830,7 @@ def _internal_init(__self__, kms_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, loadbalancer_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, logme_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + logs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mariadb_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, modelserving_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, mongodbflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -834,6 +872,7 @@ def _internal_init(__self__, __props__.__dict__["credentials_path"] = credentials_path __props__.__dict__["default_region"] = default_region __props__.__dict__["dns_custom_endpoint"] = dns_custom_endpoint + __props__.__dict__["edgecloud_custom_endpoint"] = edgecloud_custom_endpoint __props__.__dict__["enable_beta_resources"] = pulumi.Output.from_input(enable_beta_resources).apply(pulumi.runtime.to_json) if enable_beta_resources is not None else None __props__.__dict__["experiments"] = pulumi.Output.from_input(experiments).apply(pulumi.runtime.to_json) if experiments is not None else None __props__.__dict__["git_custom_endpoint"] = git_custom_endpoint @@ -841,6 +880,7 @@ def _internal_init(__self__, __props__.__dict__["kms_custom_endpoint"] = kms_custom_endpoint __props__.__dict__["loadbalancer_custom_endpoint"] = loadbalancer_custom_endpoint __props__.__dict__["logme_custom_endpoint"] = logme_custom_endpoint + __props__.__dict__["logs_custom_endpoint"] = logs_custom_endpoint __props__.__dict__["mariadb_custom_endpoint"] = mariadb_custom_endpoint __props__.__dict__["modelserving_custom_endpoint"] = modelserving_custom_endpoint __props__.__dict__["mongodbflex_custom_endpoint"] = mongodbflex_custom_endpoint @@ -914,6 +954,14 @@ def dns_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "dns_custom_endpoint") + @_builtins.property + @pulumi.getter(name="edgecloudCustomEndpoint") + def edgecloud_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Edge Cloud service + """ + return pulumi.get(self, "edgecloud_custom_endpoint") + @_builtins.property @pulumi.getter(name="gitCustomEndpoint") def git_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -954,6 +1002,14 @@ def logme_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "logme_custom_endpoint") + @_builtins.property + @pulumi.getter(name="logsCustomEndpoint") + def logs_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Logs service + """ + return pulumi.get(self, "logs_custom_endpoint") + @_builtins.property @pulumi.getter(name="mariadbCustomEndpoint") def mariadb_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: diff --git a/sdk/python/pulumi_stackit/routing_table.py b/sdk/python/pulumi_stackit/routing_table.py index 84a7f11..f28ffda 100644 --- a/sdk/python/pulumi_stackit/routing_table.py +++ b/sdk/python/pulumi_stackit/routing_table.py @@ -22,6 +22,7 @@ def __init__(__self__, *, network_area_id: pulumi.Input[_builtins.str], organization_id: pulumi.Input[_builtins.str], description: Optional[pulumi.Input[_builtins.str]] = None, + dynamic_routes: Optional[pulumi.Input[_builtins.bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, region: Optional[pulumi.Input[_builtins.str]] = None, @@ -31,6 +32,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] network_area_id: The network area ID to which the routing table is associated. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the routing table is associated. :param pulumi.Input[_builtins.str] description: Description of the routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this routing table :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the routing table. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -40,6 +42,8 @@ def __init__(__self__, *, pulumi.set(__self__, "organization_id", organization_id) if description is not None: pulumi.set(__self__, "description", description) + if dynamic_routes is not None: + pulumi.set(__self__, "dynamic_routes", dynamic_routes) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -85,6 +89,18 @@ def description(self) -> Optional[pulumi.Input[_builtins.str]]: def description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "description", value) + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + This controls whether dynamic routes are propagated to this routing table + """ + return pulumi.get(self, "dynamic_routes") + + @dynamic_routes.setter + def dynamic_routes(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dynamic_routes", value) + @_builtins.property @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -139,6 +155,7 @@ class _RoutingTableState: def __init__(__self__, *, created_at: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + dynamic_routes: Optional[pulumi.Input[_builtins.bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -151,6 +168,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering RoutingTable resources. :param pulumi.Input[_builtins.str] created_at: Date-time when the routing table was created :param pulumi.Input[_builtins.str] description: Description of the routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this routing table :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the routing table. :param pulumi.Input[_builtins.str] network_area_id: The network area ID to which the routing table is associated. @@ -164,6 +182,8 @@ def __init__(__self__, *, pulumi.set(__self__, "created_at", created_at) if description is not None: pulumi.set(__self__, "description", description) + if dynamic_routes is not None: + pulumi.set(__self__, "dynamic_routes", dynamic_routes) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -205,6 +225,18 @@ def description(self) -> Optional[pulumi.Input[_builtins.str]]: def description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "description", value) + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + This controls whether dynamic routes are propagated to this routing table + """ + return pulumi.get(self, "dynamic_routes") + + @dynamic_routes.setter + def dynamic_routes(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "dynamic_routes", value) + @_builtins.property @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -309,6 +341,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + dynamic_routes: Optional[pulumi.Input[_builtins.bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -326,6 +359,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] description: Description of the routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this routing table :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the routing table. :param pulumi.Input[_builtins.str] network_area_id: The network area ID to which the routing table is associated. @@ -362,6 +396,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + dynamic_routes: Optional[pulumi.Input[_builtins.bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -378,6 +413,7 @@ def _internal_init(__self__, __props__ = RoutingTableArgs.__new__(RoutingTableArgs) __props__.__dict__["description"] = description + __props__.__dict__["dynamic_routes"] = dynamic_routes __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name if network_area_id is None and not opts.urn: @@ -403,6 +439,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, created_at: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + dynamic_routes: Optional[pulumi.Input[_builtins.bool]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, @@ -420,6 +457,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] created_at: Date-time when the routing table was created :param pulumi.Input[_builtins.str] description: Description of the routing table. + :param pulumi.Input[_builtins.bool] dynamic_routes: This controls whether dynamic routes are propagated to this routing table :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the routing table. :param pulumi.Input[_builtins.str] network_area_id: The network area ID to which the routing table is associated. @@ -435,6 +473,7 @@ def get(resource_name: str, __props__.__dict__["created_at"] = created_at __props__.__dict__["description"] = description + __props__.__dict__["dynamic_routes"] = dynamic_routes __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["network_area_id"] = network_area_id @@ -461,6 +500,14 @@ def description(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> pulumi.Output[_builtins.bool]: + """ + This controls whether dynamic routes are propagated to this routing table + """ + return pulumi.get(self, "dynamic_routes") + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: diff --git a/sdk/python/pulumi_stackit/volume.py b/sdk/python/pulumi_stackit/volume.py index 8d29358..186fd93 100644 --- a/sdk/python/pulumi_stackit/volume.py +++ b/sdk/python/pulumi_stackit/volume.py @@ -24,6 +24,7 @@ def __init__(__self__, *, availability_zone: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], description: Optional[pulumi.Input[_builtins.str]] = None, + encryption_parameters: Optional[pulumi.Input['VolumeEncryptionParametersArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, @@ -46,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if description is not None: pulumi.set(__self__, "description", description) + if encryption_parameters is not None: + pulumi.set(__self__, "encryption_parameters", encryption_parameters) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -95,6 +98,15 @@ def description(self) -> Optional[pulumi.Input[_builtins.str]]: def description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "description", value) + @_builtins.property + @pulumi.getter(name="encryptionParameters") + def encryption_parameters(self) -> Optional[pulumi.Input['VolumeEncryptionParametersArgs']]: + return pulumi.get(self, "encryption_parameters") + + @encryption_parameters.setter + def encryption_parameters(self, value: Optional[pulumi.Input['VolumeEncryptionParametersArgs']]): + pulumi.set(self, "encryption_parameters", value) + @_builtins.property @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -173,6 +185,8 @@ class _VolumeState: def __init__(__self__, *, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + encrypted: Optional[pulumi.Input[_builtins.bool]] = None, + encryption_parameters: Optional[pulumi.Input['VolumeEncryptionParametersArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, @@ -186,6 +200,7 @@ def __init__(__self__, *, Input properties used for looking up and filtering Volume resources. :param pulumi.Input[_builtins.str] availability_zone: The availability zone of the volume. :param pulumi.Input[_builtins.str] description: The description of the volume. + :param pulumi.Input[_builtins.bool] encrypted: Indicates if the volume is encrypted. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the volume. :param pulumi.Input[_builtins.str] performance_class: The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes) @@ -200,6 +215,10 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if description is not None: pulumi.set(__self__, "description", description) + if encrypted is not None: + pulumi.set(__self__, "encrypted", encrypted) + if encryption_parameters is not None: + pulumi.set(__self__, "encryption_parameters", encryption_parameters) if labels is not None: pulumi.set(__self__, "labels", labels) if name is not None: @@ -243,6 +262,27 @@ def description(self) -> Optional[pulumi.Input[_builtins.str]]: def description(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "description", value) + @_builtins.property + @pulumi.getter + def encrypted(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Indicates if the volume is encrypted. + """ + return pulumi.get(self, "encrypted") + + @encrypted.setter + def encrypted(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "encrypted", value) + + @_builtins.property + @pulumi.getter(name="encryptionParameters") + def encryption_parameters(self) -> Optional[pulumi.Input['VolumeEncryptionParametersArgs']]: + return pulumi.get(self, "encryption_parameters") + + @encryption_parameters.setter + def encryption_parameters(self, value: Optional[pulumi.Input['VolumeEncryptionParametersArgs']]): + pulumi.set(self, "encryption_parameters", value) + @_builtins.property @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -360,6 +400,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + encryption_parameters: Optional[pulumi.Input[Union['VolumeEncryptionParametersArgs', 'VolumeEncryptionParametersArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, @@ -369,8 +410,6 @@ def __init__(__self__, source: Optional[pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']]] = None, __props__=None): """ - Volume resource schema. Must have a `region` specified in the provider configuration. - ## Example Usage :param str resource_name: The name of the resource. @@ -392,8 +431,6 @@ def __init__(__self__, args: VolumeArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Volume resource schema. Must have a `region` specified in the provider configuration. - ## Example Usage :param str resource_name: The name of the resource. @@ -413,6 +450,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + encryption_parameters: Optional[pulumi.Input[Union['VolumeEncryptionParametersArgs', 'VolumeEncryptionParametersArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, @@ -433,6 +471,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'availability_zone'") __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["description"] = description + __props__.__dict__["encryption_parameters"] = encryption_parameters __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["performance_class"] = performance_class @@ -442,6 +481,7 @@ def _internal_init(__self__, __props__.__dict__["region"] = region __props__.__dict__["size"] = size __props__.__dict__["source"] = source + __props__.__dict__["encrypted"] = None __props__.__dict__["server_id"] = None __props__.__dict__["volume_id"] = None super(Volume, __self__).__init__( @@ -456,6 +496,8 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: Optional[pulumi.Input[_builtins.str]] = None, description: Optional[pulumi.Input[_builtins.str]] = None, + encrypted: Optional[pulumi.Input[_builtins.bool]] = None, + encryption_parameters: Optional[pulumi.Input[Union['VolumeEncryptionParametersArgs', 'VolumeEncryptionParametersArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, @@ -474,6 +516,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] availability_zone: The availability zone of the volume. :param pulumi.Input[_builtins.str] description: The description of the volume. + :param pulumi.Input[_builtins.bool] encrypted: Indicates if the volume is encrypted. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container :param pulumi.Input[_builtins.str] name: The name of the volume. :param pulumi.Input[_builtins.str] performance_class: The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/products/storage/block-storage/basics/service-plans/#currently-available-service-plans-performance-classes) @@ -490,6 +533,8 @@ def get(resource_name: str, __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["description"] = description + __props__.__dict__["encrypted"] = encrypted + __props__.__dict__["encryption_parameters"] = encryption_parameters __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["performance_class"] = performance_class @@ -517,6 +562,19 @@ def description(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter + def encrypted(self) -> pulumi.Output[_builtins.bool]: + """ + Indicates if the volume is encrypted. + """ + return pulumi.get(self, "encrypted") + + @_builtins.property + @pulumi.getter(name="encryptionParameters") + def encryption_parameters(self) -> pulumi.Output[Optional['outputs.VolumeEncryptionParameters']]: + return pulumi.get(self, "encryption_parameters") + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: