diff --git a/go.work.sum b/go.work.sum index 205707c..8bd2e5f 100644 --- a/go.work.sum +++ b/go.work.sum @@ -395,6 +395,8 @@ github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd h1:anPrsicrIi2ColgWTVPk+ github.com/ijc/Gotty v0.0.0-20170406111628-a8b993ba6abd/go.mod h1:3LVOLeyx9XVvwPgrt2be44XgSqndprz1G18rSk8KD84= github.com/iwahbe/helpmakego v0.3.0 h1:cT9AOWNV6tWRkTklr+bn9SCWRcCYm/Wdjwx1/PCg80M= github.com/iwahbe/helpmakego v0.3.0/go.mod h1:SNrBTLB/hEwr4EzMfcoMFVBGP9wQfJzSDF6PWZn4qac= +github.com/iwahbe/helpmakego v0.4.0 h1:lv+HhixKrILAvbPHkUSN/0rJpClVqdsbFDL4SZ4KrLU= +github.com/iwahbe/helpmakego v0.4.0/go.mod h1:SNrBTLB/hEwr4EzMfcoMFVBGP9wQfJzSDF6PWZn4qac= github.com/iwdgo/sigintwindows v0.2.2 h1:P6oWzpvV7MrEAmhUgs+zmarrWkyL77ycZz4v7+1gYAE= github.com/iwdgo/sigintwindows v0.2.2/go.mod h1:70wPb8oz8OnxPvsj2QMUjgIVhb8hMu5TUgX8KfFl7QY= github.com/jhump/gopoet v0.1.0/go.mod h1:me9yfT6IJSlOL3FCfrg+L6yzUEZ+5jW6WHt4Sk+UPUI= diff --git a/provider/cmd/pulumi-resource-stackit/Pulumi.yaml b/provider/cmd/pulumi-resource-stackit/Pulumi.yaml index e69de29..257e9dc 100644 --- a/provider/cmd/pulumi-resource-stackit/Pulumi.yaml +++ b/provider/cmd/pulumi-resource-stackit/Pulumi.yaml @@ -0,0 +1,3 @@ +name: stackit +description: A Pulumi resource provider for stackit. +language: schema diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index e77c343..2ab63c1 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -231,6 +231,21 @@ } } }, + "stackit_network_area_region": { + "current": "stackit:index/networkAreaRegion:NetworkAreaRegion", + "fields": { + "ipv4": { + "fields": { + "default_nameservers": { + "maxItemsOne": false + }, + "network_ranges": { + "maxItemsOne": false + } + } + } + } + }, "stackit_network_area_route": { "current": "stackit:index/networkAreaRoute:NetworkAreaRoute" }, @@ -524,6 +539,32 @@ "stackit_service_account_key": { "current": "stackit:index/serviceAccountKey:ServiceAccountKey" }, + "stackit_sfs_export_policy": { + "current": "stackit:index/sfsExportPolicy:SfsExportPolicy", + "fields": { + "rules": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_acl": { + "maxItemsOne": false + } + } + } + } + } + }, + "stackit_sfs_resource_pool": { + "current": "stackit:index/sfsResourcePool:SfsResourcePool", + "fields": { + "ip_acl": { + "maxItemsOne": false + } + } + }, + "stackit_sfs_share": { + "current": "stackit:index/sfsShare:SfsShare" + }, "stackit_ske_cluster": { "current": "stackit:index/skeCluster:SkeCluster", "fields": { @@ -820,6 +861,21 @@ } } }, + "stackit_network_area_region": { + "current": "stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", + "fields": { + "ipv4": { + "fields": { + "default_nameservers": { + "maxItemsOne": false + }, + "network_ranges": { + "maxItemsOne": false + } + } + } + } + }, "stackit_network_area_route": { "current": "stackit:index/getNetworkAreaRoute:getNetworkAreaRoute" }, @@ -1146,6 +1202,40 @@ "stackit_service_account": { "current": "stackit:index/getServiceAccount:getServiceAccount" }, + "stackit_sfs_export_policy": { + "current": "stackit:index/getSfsExportPolicy:getSfsExportPolicy", + "fields": { + "rules": { + "maxItemsOne": false, + "elem": { + "fields": { + "ip_acl": { + "maxItemsOne": false + } + } + } + } + } + }, + "stackit_sfs_resource_pool": { + "current": "stackit:index/getSfsResourcePool:getSfsResourcePool", + "fields": { + "ip_acl": { + "maxItemsOne": false + } + } + }, + "stackit_sfs_resource_pool_snapshot": { + "current": "stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", + "fields": { + "snapshots": { + "maxItemsOne": false + } + } + }, + "stackit_sfs_share": { + "current": "stackit:index/getSfsShare:getSfsShare" + }, "stackit_ske_cluster": { "current": "stackit:index/getSkeCluster:getSkeCluster", "fields": { diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index eb389bc..3680d10 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -5,7 +5,7 @@ "keywords": [ "pulumi", "stackit", - "category/utility" + "category/cloud" ], "homepage": "https://www.pulumi.com", "license": "Apache-2.0", @@ -195,12 +195,16 @@ "serviceAccountToken": { "type": "string", "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.", - "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html" + "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/" }, "serviceEnablementCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Service Enablement API" }, + "sfsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Stackit Filestorage API" + }, "skeCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Kubernetes Engine (SKE) service" @@ -1018,6 +1022,81 @@ ] }, "stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange": { + "properties": { + "networkRangeId": { + "type": "string", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." + }, + "prefix": { + "type": "string", + "description": "Classless Inter-Domain Routing (CIDR).\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." + } + }, + "type": "object", + "required": [ + "prefix" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "networkRangeId", + "prefix" + ] + } + } + }, + "stackit:index/NetworkAreaRegionIpv4:NetworkAreaRegionIpv4": { + "properties": { + "defaultNameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS Servers/Nameservers.\n" + }, + "defaultPrefixLength": { + "type": "integer", + "description": "The default prefix length for networks in the network area.\n" + }, + "maxPrefixLength": { + "type": "integer", + "description": "The maximal prefix length for networks in the network area.\n" + }, + "minPrefixLength": { + "type": "integer", + "description": "The minimal prefix length for networks in the network area.\n" + }, + "networkRanges": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/NetworkAreaRegionIpv4NetworkRange:NetworkAreaRegionIpv4NetworkRange" + }, + "description": "List of Network ranges.\n" + }, + "transferNetwork": { + "type": "string", + "description": "IPv4 Classless Inter-Domain Routing (CIDR).\n" + } + }, + "type": "object", + "required": [ + "networkRanges", + "transferNetwork" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "defaultPrefixLength", + "maxPrefixLength", + "minPrefixLength", + "networkRanges", + "transferNetwork" + ] + } + } + }, + "stackit:index/NetworkAreaRegionIpv4NetworkRange:NetworkAreaRegionIpv4NetworkRange": { "properties": { "networkRangeId": { "type": "string" @@ -1040,6 +1119,39 @@ } } }, + "stackit:index/NetworkAreaRouteDestination:NetworkAreaRouteDestination": { + "properties": { + "type": { + "type": "string", + "description": "CIDRV type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`cidrv4`\" pulumi-lang-dotnet=\"`Cidrv4`\" pulumi-lang-go=\"`cidrv4`\" pulumi-lang-python=\"`cidrv4`\" pulumi-lang-yaml=\"`cidrv4`\" pulumi-lang-java=\"`cidrv4`\"\u003e`cidrv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cidrv6`\" pulumi-lang-dotnet=\"`Cidrv6`\" pulumi-lang-go=\"`cidrv6`\" pulumi-lang-python=\"`cidrv6`\" pulumi-lang-yaml=\"`cidrv6`\" pulumi-lang-java=\"`cidrv6`\"\u003e`cidrv6`\u003c/span\u003e. Only \u003cspan pulumi-lang-nodejs=\"`cidrv4`\" pulumi-lang-dotnet=\"`Cidrv4`\" pulumi-lang-go=\"`cidrv4`\" pulumi-lang-python=\"`cidrv4`\" pulumi-lang-yaml=\"`cidrv4`\" pulumi-lang-java=\"`cidrv4`\"\u003e`cidrv4`\u003c/span\u003e is supported currently.\n" + }, + "value": { + "type": "string", + "description": "An CIDR string.\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ] + }, + "stackit:index/NetworkAreaRouteNextHop:NetworkAreaRouteNextHop": { + "properties": { + "type": { + "type": "string", + "description": "Type of the next hop. Possible values are: \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internet`\" pulumi-lang-dotnet=\"`Internet`\" pulumi-lang-go=\"`internet`\" pulumi-lang-python=\"`internet`\" pulumi-lang-yaml=\"`internet`\" pulumi-lang-java=\"`internet`\"\u003e`internet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e. Only \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e supported currently.\n" + }, + "value": { + "type": "string", + "description": "Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently.\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, "stackit:index/ObservabilityAlertgroupRule:ObservabilityAlertgroupRule": { "properties": { "alert": { @@ -1149,8 +1261,14 @@ "language": { "nodejs": { "requiredOutputs": [ + "opsgenieApiKey", + "opsgenieApiUrl", "resolveTimeout", - "smtpFrom" + "smtpAuthIdentity", + "smtpAuthPassword", + "smtpAuthUsername", + "smtpFrom", + "smtpSmartHost" ] } } @@ -1220,7 +1338,14 @@ "description": "The email address to send notifications to. Must be a valid email address\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "sendResolved" + ] + } + } }, "stackit:index/ObservabilityInstanceAlertConfigReceiverOpsgenieConfig:ObservabilityInstanceAlertConfigReceiverOpsgenieConfig": { "properties": { @@ -1245,7 +1370,14 @@ "description": "Comma separated list of tags attached to the notifications.\n" } }, - "type": "object" + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "sendResolved" + ] + } + } }, "stackit:index/ObservabilityInstanceAlertConfigReceiverWebhooksConfig:ObservabilityInstanceAlertConfigReceiverWebhooksConfig": { "properties": { @@ -1272,7 +1404,8 @@ "nodejs": { "requiredOutputs": [ "googleChat", - "msTeams" + "msTeams", + "sendResolved" ] } } @@ -1990,6 +2123,53 @@ } } }, + "stackit:index/SfsExportPolicyRule:SfsExportPolicyRule": { + "properties": { + "description": { + "type": "string", + "description": "Description of the Rule\n" + }, + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP access control list; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "order": { + "type": "integer", + "description": "Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied\n" + }, + "readOnly": { + "type": "boolean", + "description": "Flag to indicate if client IPs matching this rule can only mount the share in read only mode\n" + }, + "setUuid": { + "type": "boolean", + "description": "Flag to honor set UUID\n" + }, + "superUser": { + "type": "boolean", + "description": "Flag to indicate if client IPs matching this rule have root access on the Share\n" + } + }, + "type": "object", + "required": [ + "ipAcls", + "order" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "ipAcls", + "order", + "readOnly", + "setUuid", + "superUser" + ] + } + } + }, "stackit:index/SkeClusterExtensions:SkeClusterExtensions": { "properties": { "acl": { @@ -2125,11 +2305,11 @@ "properties": { "enableKubernetesVersionUpdates": { "type": "boolean", - "description": "Flag to enable/disable auto-updates of the Kubernetes version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Flag to enable/disable auto-updates of the Kubernetes version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "enableMachineImageVersionUpdates": { "type": "boolean", - "description": "Flag to enable/disable auto-updates of the OS image version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Flag to enable/disable auto-updates of the OS image version. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "end": { "type": "string", @@ -2224,11 +2404,11 @@ }, "osVersionMin": { "type": "string", - "description": "The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only \u003cspan pulumi-lang-nodejs=\"`osVersionUsed`\" pulumi-lang-dotnet=\"`OsVersionUsed`\" pulumi-lang-go=\"`osVersionUsed`\" pulumi-lang-python=\"`os_version_used`\" pulumi-lang-yaml=\"`osVersionUsed`\" pulumi-lang-java=\"`osVersionUsed`\"\u003e`os_version_used`\u003c/span\u003e field.\n" + "description": "The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only \u003cspan pulumi-lang-nodejs=\"`osVersionUsed`\" pulumi-lang-dotnet=\"`OsVersionUsed`\" pulumi-lang-go=\"`osVersionUsed`\" pulumi-lang-python=\"`os_version_used`\" pulumi-lang-yaml=\"`osVersionUsed`\" pulumi-lang-java=\"`osVersionUsed`\"\u003e`os_version_used`\u003c/span\u003e field.\n" }, "osVersionUsed": { "type": "string", - "description": "Full OS image version used. For example, if 3815.2 was set in \u003cspan pulumi-lang-nodejs=\"`osVersionMin`\" pulumi-lang-dotnet=\"`OsVersionMin`\" pulumi-lang-go=\"`osVersionMin`\" pulumi-lang-python=\"`os_version_min`\" pulumi-lang-yaml=\"`osVersionMin`\" pulumi-lang-java=\"`osVersionMin`\"\u003e`os_version_min`\u003c/span\u003e, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Full OS image version used. For example, if 3815.2 was set in \u003cspan pulumi-lang-nodejs=\"`osVersionMin`\" pulumi-lang-dotnet=\"`OsVersionMin`\" pulumi-lang-go=\"`osVersionMin`\" pulumi-lang-python=\"`os_version_min`\" pulumi-lang-yaml=\"`osVersionMin`\" pulumi-lang-java=\"`osVersionMin`\"\u003e`os_version_min`\u003c/span\u003e, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "taints": { "type": "array", @@ -3360,6 +3540,119 @@ } } }, + "stackit:index/getNetworkAreaRegionIpv4:getNetworkAreaRegionIpv4": { + "properties": { + "defaultNameservers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of DNS Servers/Nameservers.\n" + }, + "defaultPrefixLength": { + "type": "integer", + "description": "The default prefix length for networks in the network area.\n" + }, + "maxPrefixLength": { + "type": "integer", + "description": "The maximal prefix length for networks in the network area.\n" + }, + "minPrefixLength": { + "type": "integer", + "description": "The minimal prefix length for networks in the network area.\n" + }, + "networkRanges": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getNetworkAreaRegionIpv4NetworkRange:getNetworkAreaRegionIpv4NetworkRange" + }, + "description": "List of Network ranges.\n" + }, + "transferNetwork": { + "type": "string", + "description": "IPv4 Classless Inter-Domain Routing (CIDR).\n" + } + }, + "type": "object", + "required": [ + "defaultNameservers", + "defaultPrefixLength", + "maxPrefixLength", + "minPrefixLength", + "networkRanges", + "transferNetwork" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getNetworkAreaRegionIpv4NetworkRange:getNetworkAreaRegionIpv4NetworkRange": { + "properties": { + "networkRangeId": { + "type": "string" + }, + "prefix": { + "type": "string", + "description": "Classless Inter-Domain Routing (CIDR).\n" + } + }, + "type": "object", + "required": [ + "networkRangeId", + "prefix" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getNetworkAreaRouteDestination:getNetworkAreaRouteDestination": { + "properties": { + "type": { + "type": "string", + "description": "CIDRV type. Possible values are: \u003cspan pulumi-lang-nodejs=\"`cidrv4`\" pulumi-lang-dotnet=\"`Cidrv4`\" pulumi-lang-go=\"`cidrv4`\" pulumi-lang-python=\"`cidrv4`\" pulumi-lang-yaml=\"`cidrv4`\" pulumi-lang-java=\"`cidrv4`\"\u003e`cidrv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cidrv6`\" pulumi-lang-dotnet=\"`Cidrv6`\" pulumi-lang-go=\"`cidrv6`\" pulumi-lang-python=\"`cidrv6`\" pulumi-lang-yaml=\"`cidrv6`\" pulumi-lang-java=\"`cidrv6`\"\u003e`cidrv6`\u003c/span\u003e.\n" + }, + "value": { + "type": "string", + "description": "An CIDR string.\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getNetworkAreaRouteNextHop:getNetworkAreaRouteNextHop": { + "properties": { + "type": { + "type": "string", + "description": "Type of the next hop. Possible values are: \u003cspan pulumi-lang-nodejs=\"`blackhole`\" pulumi-lang-dotnet=\"`Blackhole`\" pulumi-lang-go=\"`blackhole`\" pulumi-lang-python=\"`blackhole`\" pulumi-lang-yaml=\"`blackhole`\" pulumi-lang-java=\"`blackhole`\"\u003e`blackhole`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internet`\" pulumi-lang-dotnet=\"`Internet`\" pulumi-lang-go=\"`internet`\" pulumi-lang-python=\"`internet`\" pulumi-lang-yaml=\"`internet`\" pulumi-lang-java=\"`internet`\"\u003e`internet`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv4`\" pulumi-lang-dotnet=\"`Ipv4`\" pulumi-lang-go=\"`ipv4`\" pulumi-lang-python=\"`ipv4`\" pulumi-lang-yaml=\"`ipv4`\" pulumi-lang-java=\"`ipv4`\"\u003e`ipv4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipv6`\" pulumi-lang-dotnet=\"`Ipv6`\" pulumi-lang-go=\"`ipv6`\" pulumi-lang-python=\"`ipv6`\" pulumi-lang-yaml=\"`ipv6`\" pulumi-lang-java=\"`ipv6`\"\u003e`ipv6`\u003c/span\u003e.\n" + }, + "value": { + "type": "string", + "description": "Either IPv4 or IPv6 (not set for blackhole and internet).\n" + } + }, + "type": "object", + "required": [ + "type", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, "stackit:index/getObservabilityAlertgroupRule:getObservabilityAlertgroupRule": { "properties": { "alert": { @@ -4651,18 +4944,104 @@ } } }, - "stackit:index/getSkeClusterExtensions:getSkeClusterExtensions": { + "stackit:index/getSfsExportPolicyRule:getSfsExportPolicyRule": { "properties": { - "acl": { - "$ref": "#/types/stackit:index/getSkeClusterExtensionsAcl:getSkeClusterExtensionsAcl", - "description": "Cluster access control configuration\n" + "description": { + "type": "string", + "description": "Description of the Rule\n" }, - "argus": { - "$ref": "#/types/stackit:index/getSkeClusterExtensionsArgus:getSkeClusterExtensionsArgus", - "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n", - "deprecationMessage": "Use observability instead." + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "IP access control list; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" }, - "dns": { + "order": { + "type": "integer", + "description": "Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied\n" + }, + "readOnly": { + "type": "boolean", + "description": "Flag to indicate if client IPs matching this rule can only mount the share in read only mode\n" + }, + "setUuid": { + "type": "boolean", + "description": "Flag to honor set UUID\n" + }, + "superUser": { + "type": "boolean", + "description": "Flag to indicate if client IPs matching this rule have root access on the Share\n" + } + }, + "type": "object", + "required": [ + "ipAcls", + "order", + "readOnly", + "setUuid", + "superUser" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot": { + "properties": { + "comment": { + "type": "string", + "description": "(optional) A comment to add more information about a snapshot\n" + }, + "createdAt": { + "type": "string", + "description": "creation date of the snapshot\n" + }, + "logicalSizeGigabytes": { + "type": "integer", + "description": "Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot)\n" + }, + "resourcePoolId": { + "type": "string", + "description": "ID of the Resource Pool of the Snapshot\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use)\n" + }, + "snapshotName": { + "type": "string", + "description": "Name of the Resource Pool Snapshot\n" + } + }, + "type": "object", + "required": [ + "comment", + "createdAt", + "logicalSizeGigabytes", + "resourcePoolId", + "sizeGigabytes", + "snapshotName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getSkeClusterExtensions:getSkeClusterExtensions": { + "properties": { + "acl": { + "$ref": "#/types/stackit:index/getSkeClusterExtensionsAcl:getSkeClusterExtensionsAcl", + "description": "Cluster access control configuration\n" + }, + "argus": { + "$ref": "#/types/stackit:index/getSkeClusterExtensionsArgus:getSkeClusterExtensionsArgus", + "description": "A single argus block as defined below. This field is deprecated and will be removed 06 January 2026.\n", + "deprecationMessage": "Use observability instead." + }, + "dns": { "$ref": "#/types/stackit:index/getSkeClusterExtensionsDns:getSkeClusterExtensionsDns", "description": "DNS extension configuration\n" }, @@ -4912,11 +5291,11 @@ }, "osVersionMin": { "type": "string", - "description": "The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only \u003cspan pulumi-lang-nodejs=\"`osVersionUsed`\" pulumi-lang-dotnet=\"`OsVersionUsed`\" pulumi-lang-go=\"`osVersionUsed`\" pulumi-lang-python=\"`os_version_used`\" pulumi-lang-yaml=\"`osVersionUsed`\" pulumi-lang-java=\"`osVersionUsed`\"\u003e`os_version_used`\u003c/span\u003e field.\n" + "description": "The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only \u003cspan pulumi-lang-nodejs=\"`osVersionUsed`\" pulumi-lang-dotnet=\"`OsVersionUsed`\" pulumi-lang-go=\"`osVersionUsed`\" pulumi-lang-python=\"`os_version_used`\" pulumi-lang-yaml=\"`osVersionUsed`\" pulumi-lang-java=\"`osVersionUsed`\"\u003e`os_version_used`\u003c/span\u003e field.\n" }, "osVersionUsed": { "type": "string", - "description": "Full OS image version used. For example, if 3815.2 was set in \u003cspan pulumi-lang-nodejs=\"`osVersionMin`\" pulumi-lang-dotnet=\"`OsVersionMin`\" pulumi-lang-go=\"`osVersionMin`\" pulumi-lang-python=\"`os_version_min`\" pulumi-lang-yaml=\"`osVersionMin`\" pulumi-lang-java=\"`osVersionMin`\"\u003e`os_version_min`\u003c/span\u003e, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Full OS image version used. For example, if 3815.2 was set in \u003cspan pulumi-lang-nodejs=\"`osVersionMin`\" pulumi-lang-dotnet=\"`OsVersionMin`\" pulumi-lang-go=\"`osVersionMin`\" pulumi-lang-python=\"`os_version_min`\" pulumi-lang-yaml=\"`osVersionMin`\" pulumi-lang-java=\"`osVersionMin`\"\u003e`os_version_min`\u003c/span\u003e, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "taints": { "type": "array", @@ -5221,12 +5600,16 @@ "serviceAccountToken": { "type": "string", "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.", - "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html" + "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/" }, "serviceEnablementCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Service Enablement API" }, + "sfsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Stackit Filestorage API" + }, "skeCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Kubernetes Engine (SKE) service" @@ -5381,12 +5764,16 @@ "serviceAccountToken": { "type": "string", "description": "Token used for authentication. If set, the token flow will be used to authenticate all operations.", - "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html" + "deprecationMessage": "Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use \u003cspan pulumi-lang-nodejs=\"`serviceAccountKey`\" pulumi-lang-dotnet=\"`ServiceAccountKey`\" pulumi-lang-go=\"`serviceAccountKey`\" pulumi-lang-python=\"`service_account_key`\" pulumi-lang-yaml=\"`serviceAccountKey`\" pulumi-lang-java=\"`serviceAccountKey`\"\u003e`service_account_key`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`serviceAccountKeyPath`\" pulumi-lang-dotnet=\"`ServiceAccountKeyPath`\" pulumi-lang-go=\"`serviceAccountKeyPath`\" pulumi-lang-python=\"`service_account_key_path`\" pulumi-lang-yaml=\"`serviceAccountKeyPath`\" pulumi-lang-java=\"`serviceAccountKeyPath`\"\u003e`service_account_key_path`\u003c/span\u003e instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/" }, "serviceEnablementCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Service Enablement API" }, + "sfsCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Stackit Filestorage API" + }, "skeCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Kubernetes Engine (SKE) service" @@ -5406,7 +5793,7 @@ }, "resources": { "stackit:index/affinityGroup:AffinityGroup": { - "description": "Affinity Group 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\n\n## Example Usage\n\n```terraform\nresource \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-affinity-group-name\"\n policy = \"hard-anti-affinity\"\n}\n\n# Only use the import statement, if you want to import an existing affinity group\nimport {\n to = stackit_affinity_group.import-example\n id = \"${var.project_id},${var.affinity_group_id}\"\n}\n```\n", + "description": "Affinity Group schema.\n\n\n\n## Example Usage\n\n```terraform\nresource \"stackit_affinity_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-affinity-group-name\"\n policy = \"hard-anti-affinity\"\n}\n\n# Only use the import statement, if you want to import an existing affinity group\nimport {\n to = stackit_affinity_group.import-example\n id = \"${var.project_id},${var.region},${var.affinity_group_id}\"\n}\n```\n", "properties": { "affinityGroupId": { "type": "string", @@ -5430,6 +5817,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "required": [ @@ -5437,7 +5828,8 @@ "members", "name", "policy", - "projectId" + "projectId", + "region" ], "inputProperties": { "name": { @@ -5451,6 +5843,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ @@ -5482,6 +5878,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object" @@ -6385,7 +6785,7 @@ } }, "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.image_id}\"\n}\n```\n", + "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", @@ -6434,6 +6834,10 @@ "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" @@ -6450,6 +6854,7 @@ "name", "projectId", "protected", + "region", "scope" ], "inputProperties": { @@ -6487,6 +6892,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the image is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ @@ -6544,6 +6953,10 @@ "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" @@ -8249,7 +8662,7 @@ } }, "stackit:index/network:Network": { - "description": "Network 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\u003e Behavior of not configured \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e will change from January 2026. When \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e is not set, it will be set to the network area's \u003cspan pulumi-lang-nodejs=\"`defaultNameservers`\" pulumi-lang-dotnet=\"`DefaultNameservers`\" pulumi-lang-go=\"`defaultNameservers`\" pulumi-lang-python=\"`default_nameservers`\" pulumi-lang-yaml=\"`defaultNameservers`\" pulumi-lang-java=\"`defaultNameservers`\"\u003e`default_nameservers`\u003c/span\u003e.\nTo prevent any nameserver configuration, the \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e attribute should be explicitly set to an empty list `[]`.\nIn cases where \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e are defined within the resource, the existing behavior will remain unchanged.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_prefix_length = 24\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n\n# Only use the import statement, if you want to import an existing network\n# Note: There will be a conflict which needs to be resolved manually.\n# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]\nimport {\n to = stackit_network.import-example\n id = \"${var.project_id},${var.network_id}\"\n}\n```\n", + "description": "Network 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\u003e Behavior of not configured \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e will change from January 2026. When \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e is not set, it will be set to the network area's \u003cspan pulumi-lang-nodejs=\"`defaultNameservers`\" pulumi-lang-dotnet=\"`DefaultNameservers`\" pulumi-lang-go=\"`defaultNameservers`\" pulumi-lang-python=\"`default_nameservers`\" pulumi-lang-yaml=\"`defaultNameservers`\" pulumi-lang-java=\"`defaultNameservers`\"\u003e`default_nameservers`\u003c/span\u003e.\nTo prevent any nameserver configuration, the \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e attribute should be explicitly set to an empty list `[]`.\nIn cases where \u003cspan pulumi-lang-nodejs=\"`ipv4Nameservers`\" pulumi-lang-dotnet=\"`Ipv4Nameservers`\" pulumi-lang-go=\"`ipv4Nameservers`\" pulumi-lang-python=\"`ipv4_nameservers`\" pulumi-lang-yaml=\"`ipv4Nameservers`\" pulumi-lang-java=\"`ipv4Nameservers`\"\u003e`ipv4_nameservers`\u003c/span\u003e are defined within the resource, the existing behavior will remain unchanged.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network\" \"example_with_name\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-with-name\"\n}\n\nresource \"stackit_network\" \"example_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-routed-network\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\nresource \"stackit_network\" \"example_non_routed_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-non-routed-network\"\n ipv4_nameservers = [\"1.2.3.4\", \"5.6.7.8\"]\n ipv4_gateway = \"10.1.2.3\"\n ipv4_prefix = \"10.1.2.0/24\"\n labels = {\n \"key\" = \"value\"\n }\n routed = false\n}\n\n# Only use the import statement, if you want to import an existing network\n# Note: There will be a conflict which needs to be resolved manually.\n# These attributes cannot be configured together: [ipv4_prefix,ipv4_prefix_length,ipv4_gateway]\nimport {\n to = stackit_network.import-example\n id = \"${var.project_id},${var.region},${var.network_id}\"\n}\n```\n", "properties": { "ipv4Gateway": { "type": "string", @@ -8352,7 +8765,7 @@ }, "region": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, "routed": { "type": "boolean", @@ -8360,7 +8773,7 @@ }, "routingTableId": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n" + "description": "The ID of the routing table associated with the network.\n" } }, "required": [ @@ -8456,7 +8869,7 @@ }, "region": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, "routed": { "type": "boolean", @@ -8464,7 +8877,7 @@ }, "routingTableId": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n" + "description": "The ID of the routing table associated with the network.\n" } }, "requiredInputs": [ @@ -8574,7 +8987,7 @@ }, "region": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe resource region. If not defined, the provider region is used.\n" + "description": "The resource region. If not defined, the provider region is used.\n" }, "routed": { "type": "boolean", @@ -8582,25 +8995,27 @@ }, "routingTableId": { "type": "string", - "description": "Can only be used when experimental \"network\" is set.\nThe ID of the routing table associated with the network.\n" + "description": "The ID of the routing table associated with the network.\n" } }, "type": "object" } }, "stackit:index/networkArea:NetworkArea": { - "description": "Network area 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_network_area\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network-area\"\n network_ranges = [\n {\n prefix = \"192.168.0.0/24\"\n }\n ]\n transfer_network = \"192.168.1.0/24\"\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", + "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", "items": { "type": "string" }, - "description": "List of DNS Servers/Nameservers.\n" + "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "defaultPrefixLength": { "type": "integer", - "description": "The default prefix length for networks in the network area.\n" + "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "labels": { "type": "object", @@ -8611,11 +9026,13 @@ }, "maxPrefixLength": { "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n" + "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "minPrefixLength": { "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n" + "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "name": { "type": "string", @@ -8630,7 +9047,8 @@ "items": { "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" }, - "description": "List of Network ranges.\n" + "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "organizationId": { "type": "string", @@ -8642,7 +9060,8 @@ }, "transferNetwork": { "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n" + "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." } }, "required": [ @@ -8651,10 +9070,8 @@ "minPrefixLength", "name", "networkAreaId", - "networkRanges", "organizationId", - "projectCount", - "transferNetwork" + "projectCount" ], "inputProperties": { "defaultNameservers": { @@ -8662,11 +9079,13 @@ "items": { "type": "string" }, - "description": "List of DNS Servers/Nameservers.\n" + "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "defaultPrefixLength": { "type": "integer", - "description": "The default prefix length for networks in the network area.\n" + "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "labels": { "type": "object", @@ -8677,11 +9096,13 @@ }, "maxPrefixLength": { "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n" + "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "minPrefixLength": { "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n" + "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "name": { "type": "string", @@ -8692,7 +9113,8 @@ "items": { "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" }, - "description": "List of Network ranges.\n" + "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "organizationId": { "type": "string", @@ -8700,13 +9122,12 @@ }, "transferNetwork": { "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n" + "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." } }, "requiredInputs": [ - "networkRanges", - "organizationId", - "transferNetwork" + "organizationId" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkArea resources.\n", @@ -8716,11 +9137,13 @@ "items": { "type": "string" }, - "description": "List of DNS Servers/Nameservers.\n" + "description": "List of DNS Servers/Nameservers for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "defaultPrefixLength": { "type": "integer", - "description": "The default prefix length for networks in the network area.\n" + "description": "The default prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "labels": { "type": "object", @@ -8731,11 +9154,13 @@ }, "maxPrefixLength": { "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n" + "description": "The maximal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "minPrefixLength": { "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n" + "description": "The minimal prefix length for networks in the network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "name": { "type": "string", @@ -8750,7 +9175,8 @@ "items": { "$ref": "#/types/stackit:index/NetworkAreaNetworkRange:NetworkAreaNetworkRange" }, - "description": "List of Network ranges.\n" + "description": "List of Network ranges for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." }, "organizationId": { "type": "string", @@ -8762,15 +9188,91 @@ }, "transferNetwork": { "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n" + "description": "Classless Inter-Domain Routing (CIDR) for configuration of network area for region \u003cspan pulumi-lang-nodejs=\"`eu01`\" pulumi-lang-dotnet=\"`Eu01`\" pulumi-lang-go=\"`eu01`\" pulumi-lang-python=\"`eu01`\" pulumi-lang-yaml=\"`eu01`\" pulumi-lang-java=\"`eu01`\"\u003e`eu01`\u003c/span\u003e.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026. Use the new \u003cspan pulumi-lang-nodejs=\"`stackit.NetworkAreaRegion`\" pulumi-lang-dotnet=\"`stackit.NetworkAreaRegion`\" pulumi-lang-go=\"`NetworkAreaRegion`\" pulumi-lang-python=\"`NetworkAreaRegion`\" pulumi-lang-yaml=\"`stackit.NetworkAreaRegion`\" pulumi-lang-java=\"`stackit.NetworkAreaRegion`\"\u003e`stackit.NetworkAreaRegion`\u003c/span\u003e resource instead." + } + }, + "type": "object" + } + }, + "stackit:index/networkAreaRegion:NetworkAreaRegion": { + "description": "Network area region resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n ipv4 = {\n transfer_network = \"10.1.2.0/24\"\n network_ranges = [\n {\n prefix = \"10.0.0.0/16\"\n }\n ]\n }\n}\n\n# Only use the import statement, if you want to import an existing network area region\nimport {\n to = stackit_network_area_region.import-example\n id = \"${var.organization_id},${var.network_area_id},${var.region}\"\n}\n```\n", + "properties": { + "ipv4": { + "$ref": "#/types/stackit:index/NetworkAreaRegionIpv4:NetworkAreaRegionIpv4", + "description": "The regional IPv4 config of a network area.\n" + }, + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "required": [ + "ipv4", + "networkAreaId", + "organizationId", + "region" + ], + "inputProperties": { + "ipv4": { + "$ref": "#/types/stackit:index/NetworkAreaRegionIpv4:NetworkAreaRegionIpv4", + "description": "The regional IPv4 config of a network area.\n" + }, + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "ipv4", + "networkAreaId", + "organizationId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering NetworkAreaRegion resources.\n", + "properties": { + "ipv4": { + "$ref": "#/types/stackit:index/NetworkAreaRegionIpv4:NetworkAreaRegionIpv4", + "description": "The regional IPv4 config of a network area.\n" + }, + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object" } }, "stackit:index/networkAreaRoute:NetworkAreaRoute": { - "description": "Network area route 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_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n prefix = \"192.168.0.0/24\"\n next_hop = \"192.168.0.0\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing network area route\nimport {\n to = stackit_network_area_route.import-example\n id = \"${var.organization_id},${var.network_area_id},${var.network_area_route_id}\"\n}\n```\n", "properties": { + "destination": { + "$ref": "#/types/stackit:index/NetworkAreaRouteDestination:NetworkAreaRouteDestination", + "description": "Destination of the route.\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -8787,26 +9289,31 @@ "description": "The network area route ID.\n" }, "nextHop": { - "type": "string", - "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n" + "$ref": "#/types/stackit:index/NetworkAreaRouteNextHop:NetworkAreaRouteNextHop", + "description": "Next hop destination.\n" }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" }, - "prefix": { + "region": { "type": "string", - "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "required": [ + "destination", "networkAreaId", "networkAreaRouteId", "nextHop", "organizationId", - "prefix" + "region" ], "inputProperties": { + "destination": { + "$ref": "#/types/stackit:index/NetworkAreaRouteDestination:NetworkAreaRouteDestination", + "description": "Destination of the route.\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -8819,27 +9326,31 @@ "description": "The network area ID to which the network area route is associated.\n" }, "nextHop": { - "type": "string", - "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n" + "$ref": "#/types/stackit:index/NetworkAreaRouteNextHop:NetworkAreaRouteNextHop", + "description": "Next hop destination.\n" }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" }, - "prefix": { + "region": { "type": "string", - "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ + "destination", "networkAreaId", "nextHop", - "organizationId", - "prefix" + "organizationId" ], "stateInputs": { "description": "Input properties used for looking up and filtering NetworkAreaRoute resources.\n", "properties": { + "destination": { + "$ref": "#/types/stackit:index/NetworkAreaRouteDestination:NetworkAreaRouteDestination", + "description": "Destination of the route.\n" + }, "labels": { "type": "object", "additionalProperties": { @@ -8856,23 +9367,23 @@ "description": "The network area route ID.\n" }, "nextHop": { - "type": "string", - "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n" + "$ref": "#/types/stackit:index/NetworkAreaRouteNextHop:NetworkAreaRouteNextHop", + "description": "Next hop destination.\n" }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" }, - "prefix": { + "region": { "type": "string", - "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object" } }, "stackit:index/networkInterface:NetworkInterface": { - "description": "Network interface 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_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n allowed_addresses = [\"192.168.0.0/24\"]\n security_group_ids = [\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"]\n}\n\n# Only use the import statement, if you want to import an existing network interface\nimport {\n to = stackit_network_interface.import-example\n id = \"${var.project_id},${var.network_id},${var.network_interface_id}\"\n}\n```\n", + "description": "Network interface 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_network_interface\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n allowed_addresses = [\"192.168.0.0/24\"]\n security_group_ids = [\"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"]\n}\n\n# Only use the import statement, if you want to import an existing network interface\nimport {\n to = stackit_network_interface.import-example\n id = \"${var.project_id},${var.region},${var.network_id},${var.network_interface_id}\"\n}\n```\n", "properties": { "allowedAddresses": { "type": "array", @@ -8916,6 +9427,10 @@ "type": "string", "description": "STACKIT project ID to which the network is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "security": { "type": "boolean", "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" @@ -8941,6 +9456,7 @@ "networkId", "networkInterfaceId", "projectId", + "region", "security", "securityGroupIds", "type" @@ -8976,6 +9492,10 @@ "type": "string", "description": "STACKIT project ID to which the network is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "security": { "type": "boolean", "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" @@ -9037,6 +9557,10 @@ "type": "string", "description": "STACKIT project ID to which the network is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "security": { "type": "boolean", "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" @@ -10697,7 +11221,7 @@ } }, "stackit:index/publicIp:PublicIp": { - "description": "Public IP 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_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing public ip\nimport {\n to = stackit_public_ip.import-example\n id = \"${var.project_id},${var.public_ip_id}\"\n}\n```\n", + "description": "Public IP 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_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing public ip\nimport {\n to = stackit_public_ip.import-example\n id = \"${var.project_id},${var.region},${var.public_ip_id}\"\n}\n```\n", "properties": { "ip": { "type": "string", @@ -10720,13 +11244,18 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "required": [ "ip", "networkInterfaceId", "projectId", - "publicIpId" + "publicIpId", + "region" ], "inputProperties": { "labels": { @@ -10742,6 +11271,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the public IP is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ @@ -10771,13 +11304,17 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object" } }, "stackit:index/publicIpAssociate:PublicIpAssociate": { - "description": "Associates an existing public IP to a network interface. This is useful for situations where you have a pre-allocated public IP or unable to use the \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIp`\" pulumi-lang-dotnet=\"`stackit.PublicIp`\" pulumi-lang-go=\"`PublicIp`\" pulumi-lang-python=\"`PublicIp`\" pulumi-lang-yaml=\"`stackit.PublicIp`\" pulumi-lang-java=\"`stackit.PublicIp`\"\u003e`stackit.PublicIp`\u003c/span\u003e resource to create a new public IP. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n!\u003e The \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIpAssociate`\" pulumi-lang-dotnet=\"`stackit.PublicIpAssociate`\" pulumi-lang-go=\"`PublicIpAssociate`\" pulumi-lang-python=\"`PublicIpAssociate`\" pulumi-lang-yaml=\"`stackit.PublicIpAssociate`\" pulumi-lang-java=\"`stackit.PublicIpAssociate`\"\u003e`stackit.PublicIpAssociate`\u003c/span\u003e resource should not be used together with the \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIp`\" pulumi-lang-dotnet=\"`stackit.PublicIp`\" pulumi-lang-go=\"`PublicIp`\" pulumi-lang-python=\"`PublicIp`\" pulumi-lang-yaml=\"`stackit.PublicIp`\" pulumi-lang-java=\"`stackit.PublicIp`\"\u003e`stackit.PublicIp`\u003c/span\u003e resource for the same public IP or for the same network interface. \nUsing both resources together for the same public IP or network interface WILL lead to conflicts, as they both have control of the public IP and network interface association.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip_associate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing public ip associate\nimport {\n to = stackit_public_ip_associate.import-example\n id = \"${var.project_id},${var.public_ip_id},${var.network_interface_id}\"\n}\n```\n", + "description": "Associates an existing public IP to a network interface. This is useful for situations where you have a pre-allocated public IP or unable to use the \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIp`\" pulumi-lang-dotnet=\"`stackit.PublicIp`\" pulumi-lang-go=\"`PublicIp`\" pulumi-lang-python=\"`PublicIp`\" pulumi-lang-yaml=\"`stackit.PublicIp`\" pulumi-lang-java=\"`stackit.PublicIp`\"\u003e`stackit.PublicIp`\u003c/span\u003e resource to create a new public IP. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n!\u003e The \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIpAssociate`\" pulumi-lang-dotnet=\"`stackit.PublicIpAssociate`\" pulumi-lang-go=\"`PublicIpAssociate`\" pulumi-lang-python=\"`PublicIpAssociate`\" pulumi-lang-yaml=\"`stackit.PublicIpAssociate`\" pulumi-lang-java=\"`stackit.PublicIpAssociate`\"\u003e`stackit.PublicIpAssociate`\u003c/span\u003e resource should not be used together with the \u003cspan pulumi-lang-nodejs=\"`stackit.PublicIp`\" pulumi-lang-dotnet=\"`stackit.PublicIp`\" pulumi-lang-go=\"`PublicIp`\" pulumi-lang-python=\"`PublicIp`\" pulumi-lang-yaml=\"`stackit.PublicIp`\" pulumi-lang-java=\"`stackit.PublicIp`\"\u003e`stackit.PublicIp`\u003c/span\u003e resource for the same public IP or for the same network interface. \nUsing both resources together for the same public IP or network interface WILL lead to conflicts, as they both have control of the public IP and network interface association.\n\n## Example Usage\n\n```terraform\nresource \"stackit_public_ip_associate\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n public_ip_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing public ip associate\nimport {\n to = stackit_public_ip_associate.import-example\n id = \"${var.project_id},${var.region},${var.public_ip_id},${var.network_interface_id}\"\n}\n```\n", "properties": { "ip": { "type": "string", @@ -10794,13 +11331,18 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "required": [ "ip", "networkInterfaceId", "projectId", - "publicIpId" + "publicIpId", + "region" ], "inputProperties": { "networkInterfaceId": { @@ -10814,6 +11356,10 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "requiredInputs": [ @@ -10839,6 +11385,10 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object" @@ -12342,6 +12892,10 @@ "type": "string", "description": "STACKIT project ID to which the security group is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "securityGroupId": { "type": "string", "description": "The security group ID.\n" @@ -12355,6 +12909,7 @@ "description", "name", "projectId", + "region", "securityGroupId", "stateful" ], @@ -12378,6 +12933,10 @@ "type": "string", "description": "STACKIT project ID to which the security group is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "stateful": { "type": "boolean", "description": "Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server.\n" @@ -12408,9 +12967,13 @@ "type": "string", "description": "STACKIT project ID to which the security group is associated.\n" }, - "securityGroupId": { + "region": { "type": "string", - "description": "The security group ID.\n" + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "securityGroupId": { + "type": "string", + "description": "The security group ID.\n" }, "stateful": { "type": "boolean", @@ -12455,6 +13018,10 @@ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol", "description": "The internet protocol which the rule should match.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "remoteSecurityGroupId": { "type": "string", "description": "The remote security group which the rule should match.\n" @@ -12475,6 +13042,7 @@ "portRange", "projectId", "protocol", + "region", "securityGroupId", "securityGroupRuleId" ], @@ -12511,6 +13079,10 @@ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol", "description": "The internet protocol which the rule should match.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "remoteSecurityGroupId": { "type": "string", "description": "The remote security group which the rule should match.\n" @@ -12560,6 +13132,10 @@ "$ref": "#/types/stackit:index/SecurityGroupRuleProtocol:SecurityGroupRuleProtocol", "description": "The internet protocol which the rule should match.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "remoteSecurityGroupId": { "type": "string", "description": "The remote security group which the rule should match.\n" @@ -12577,7 +13153,7 @@ } }, "stackit:index/server:Server": { - "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\t\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.server_id}\"\n}\n```\n", + "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\t\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.region},${var.server_id}\"\n}\n```\n", "properties": { "affinityGroup": { "type": "string", @@ -12620,7 +13196,7 @@ }, "machineType": { "type": "string", - "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n" + "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\n" }, "name": { "type": "string", @@ -12631,12 +13207,16 @@ "items": { "type": "string" }, - "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n" + "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.**\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the server is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12657,6 +13237,7 @@ "machineType", "name", "projectId", + "region", "serverId", "updatedAt" ], @@ -12694,7 +13275,7 @@ }, "machineType": { "type": "string", - "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n" + "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\n" }, "name": { "type": "string", @@ -12705,12 +13286,16 @@ "items": { "type": "string" }, - "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n" + "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.**\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the server is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "userData": { "type": "string", "description": "User data that is passed via cloud-init to the server.\n" @@ -12764,7 +13349,7 @@ }, "machineType": { "type": "string", - "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n" + "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\n" }, "name": { "type": "string", @@ -12775,12 +13360,16 @@ "items": { "type": "string" }, - "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server.\n" + "description": "The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.**\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the server is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12920,7 +13509,7 @@ } }, "stackit:index/serverNetworkInterfaceAttach:ServerNetworkInterfaceAttach": { - "description": "Network interface attachment resource schema. Attaches a network interface to a server. 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. The attachment only takes full effect after server reboot.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_network_interface_attach\" \"attached_network_interface\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server network interface attachment\nimport {\n to = stackit_server_network_interface_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.network_interface_id}\"\n}\n```\n", + "description": "Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot.\n\n## Example Usage\n\n```terraform\nresource \"stackit_server_network_interface_attach\" \"attached_network_interface\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server network interface attachment\nimport {\n to = stackit_server_network_interface_attach.import-example\n id = \"${var.project_id},${var.region},${var.server_id},${var.network_interface_id}\"\n}\n```\n", "properties": { "networkInterfaceId": { "type": "string", @@ -12930,6 +13519,10 @@ "type": "string", "description": "STACKIT project ID to which the network interface attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12938,6 +13531,7 @@ "required": [ "networkInterfaceId", "projectId", + "region", "serverId" ], "inputProperties": { @@ -12949,6 +13543,10 @@ "type": "string", "description": "STACKIT project ID to which the network interface attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12970,6 +13568,10 @@ "type": "string", "description": "STACKIT project ID to which the network interface attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12979,12 +13581,16 @@ } }, "stackit:index/serverServiceAccountAttach:ServerServiceAccountAttach": { - "description": "Service account attachment resource schema. Attaches a service account to a server. 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_server_service_account_attach\" \"attached_service_account\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = \"service-account@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing server service account attachment\nimport {\n to = stackit_server_service_account_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.service_account_email}\"\n}\n```\n", + "description": "Service account attachment resource schema. Attaches a service account to a server. 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_server_service_account_attach\" \"attached_service_account\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = \"service-account@stackit.cloud\"\n}\n\n# Only use the import statement, if you want to import an existing server service account attachment\nimport {\n to = stackit_server_service_account_attach.import-example\n id = \"${var.project_id},${var.region},${var.server_id},${var.service_account_email}\"\n}\n```\n", "properties": { "projectId": { "type": "string", "description": "STACKIT project ID to which the service account attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -12996,6 +13602,7 @@ }, "required": [ "projectId", + "region", "serverId", "serviceAccountEmail" ], @@ -13004,6 +13611,10 @@ "type": "string", "description": "STACKIT project ID to which the service account attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -13025,6 +13636,10 @@ "type": "string", "description": "STACKIT project ID to which the service account attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -13160,12 +13775,16 @@ } }, "stackit:index/serverVolumeAttach:ServerVolumeAttach": { - "description": "Volume attachment resource schema. Attaches a volume to a server. 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_server_volume_attach\" \"attached_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server volume attachment\nimport {\n to = stackit_server_volume_attach.import-example\n id = \"${var.project_id},${var.server_id},${var.volume_id}\"\n}\n```\n", + "description": "Volume attachment resource schema. Attaches a volume to a server. 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_server_volume_attach\" \"attached_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n volume_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing server volume attachment\nimport {\n to = stackit_server_volume_attach.import-example\n id = \"${var.project_id},${var.region},${var.server_id},${var.volume_id}\"\n}\n```\n", "properties": { "projectId": { "type": "string", "description": "STACKIT project ID to which the volume attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -13177,6 +13796,7 @@ }, "required": [ "projectId", + "region", "serverId", "volumeId" ], @@ -13185,6 +13805,10 @@ "type": "string", "description": "STACKIT project ID to which the volume attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -13206,6 +13830,10 @@ "type": "string", "description": "STACKIT project ID to which the volume attachment is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -13272,7 +13900,7 @@ } }, "stackit:index/serviceAccountAccessToken:ServiceAccountAccessToken": { - "description": "Service account access token schema.\n\n!\u003e This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations.\n\n## Example Usage\n\n### Automatically rotate access tokens\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_access_token\" \"sa_token\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 180\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n```\n", + "description": "Service account access token schema.\n\n!\u003e This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations.\n\n## Example Usage\n\n### Automatically rotate access tokens\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_access_token\" \"sa_token\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 180\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n```\n", "properties": { "accessTokenId": { "type": "string", @@ -13507,6 +14135,352 @@ "type": "object" } }, + "stackit:index/sfsExportPolicy:SfsExportPolicy": { + "description": "SFS export policy resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n rules = [\n {\n ip_acl = [\"172.16.0.0/24\", \"172.16.0.250/32\"]\n order = 1\n }\n ]\n}\n\n# Only use the import statement, if you want to import an existing export policy\nimport {\n to = stackit_sfs_export_policy.example\n id = \"${var.project_id},${var.region},${var.policy_id}\"\n}\n```\n", + "properties": { + "name": { + "type": "string", + "description": "Name of the export policy.\n" + }, + "policyId": { + "type": "string", + "description": "Export policy ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the export policy is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule" + } + } + }, + "required": [ + "name", + "policyId", + "projectId", + "region", + "rules" + ], + "inputProperties": { + "name": { + "type": "string", + "description": "Name of the export policy.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the export policy is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule" + } + } + }, + "requiredInputs": [ + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SfsExportPolicy resources.\n", + "properties": { + "name": { + "type": "string", + "description": "Name of the export policy.\n" + }, + "policyId": { + "type": "string", + "description": "Export policy ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the export policy is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/SfsExportPolicyRule:SfsExportPolicyRule" + } + } + }, + "type": "object" + } + }, + "stackit:index/sfsResourcePool:SfsResourcePool": { + "description": "Resource-pool resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n name = \"some-resourcepool\"\n availability_zone = \"eu01-m\"\n performance_class = \"Standard\"\n size_gigabytes = 512\n ip_acl = [\n \"192.168.42.1/32\",\n \"192.168.42.2/32\"\n ]\n snapshots_are_visible = true\n}\n\n# Only use the import statement, if you want to import an existing resource pool\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id}\"\n}\n```\n", + "properties": { + "availabilityZone": { + "type": "string", + "description": "Availability zone.\n" + }, + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "name": { + "type": "string", + "description": "Name of the resource pool.\n" + }, + "performanceClass": { + "type": "string", + "description": "Name of the performance class.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resource pool ID\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "snapshotsAreVisible": { + "type": "boolean", + "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + } + }, + "required": [ + "availabilityZone", + "ipAcls", + "name", + "performanceClass", + "projectId", + "region", + "resourcePoolId", + "sizeGigabytes", + "snapshotsAreVisible" + ], + "inputProperties": { + "availabilityZone": { + "type": "string", + "description": "Availability zone.\n" + }, + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "name": { + "type": "string", + "description": "Name of the resource pool.\n" + }, + "performanceClass": { + "type": "string", + "description": "Name of the performance class.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "snapshotsAreVisible": { + "type": "boolean", + "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + } + }, + "requiredInputs": [ + "availabilityZone", + "ipAcls", + "performanceClass", + "projectId", + "sizeGigabytes" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SfsResourcePool resources.\n", + "properties": { + "availabilityZone": { + "type": "string", + "description": "Availability zone.\n" + }, + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "name": { + "type": "string", + "description": "Name of the resource pool.\n" + }, + "performanceClass": { + "type": "string", + "description": "Name of the performance class.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resource pool ID\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "snapshotsAreVisible": { + "type": "boolean", + "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + } + }, + "type": "object" + } + }, + "stackit:index/sfsShare:SfsShare": { + "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n name = \"my-nfs-share\"\n export_policy = \"high-performance-class\"\n space_hard_limit_gigabytes = 32\n}\n\n# Only use the import statement, if you want to import an existing sfs share\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id},${var.share_id}\"\n}\n```\n", + "properties": { + "exportPolicy": { + "type": "string", + "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" + }, + "mountPath": { + "type": "string", + "description": "Mount path of the Share, used to mount the Share\n" + }, + "name": { + "type": "string", + "description": "Name of the share.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the share is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" + }, + "spaceHardLimitGigabytes": { + "type": "integer", + "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" + } + }, + "required": [ + "exportPolicy", + "mountPath", + "name", + "projectId", + "region", + "resourcePoolId", + "shareId", + "spaceHardLimitGigabytes" + ], + "inputProperties": { + "exportPolicy": { + "type": "string", + "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" + }, + "name": { + "type": "string", + "description": "Name of the share.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the share is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "spaceHardLimitGigabytes": { + "type": "integer", + "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" + } + }, + "requiredInputs": [ + "exportPolicy", + "projectId", + "resourcePoolId", + "spaceHardLimitGigabytes" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering SfsShare resources.\n", + "properties": { + "exportPolicy": { + "type": "string", + "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" + }, + "mountPath": { + "type": "string", + "description": "Mount path of the Share, used to mount the Share\n" + }, + "name": { + "type": "string", + "description": "Name of the share.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the share is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" + }, + "spaceHardLimitGigabytes": { + "type": "integer", + "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" + } + }, + "type": "object" + } + }, "stackit:index/skeCluster:SkeCluster": { "description": "SKE Cluster Resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e When updating \u003cspan pulumi-lang-nodejs=\"`nodePools`\" pulumi-lang-dotnet=\"`NodePools`\" pulumi-lang-go=\"`nodePools`\" pulumi-lang-python=\"`node_pools`\" pulumi-lang-yaml=\"`nodePools`\" pulumi-lang-java=\"`nodePools`\"\u003e`node_pools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n}\n\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n", "properties": { @@ -13530,11 +14504,11 @@ }, "kubernetesVersionMin": { "type": "string", - "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" + "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" }, "kubernetesVersionUsed": { "type": "string", - "description": "Full Kubernetes version used. For example, if 1.22 was set in \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionMin`\" pulumi-lang-dotnet=\"`KubernetesVersionMin`\" pulumi-lang-go=\"`kubernetesVersionMin`\" pulumi-lang-python=\"`kubernetes_version_min`\" pulumi-lang-yaml=\"`kubernetesVersionMin`\" pulumi-lang-java=\"`kubernetesVersionMin`\"\u003e`kubernetes_version_min`\u003c/span\u003e, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Full Kubernetes version used. For example, if 1.22 was set in \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionMin`\" pulumi-lang-dotnet=\"`KubernetesVersionMin`\" pulumi-lang-go=\"`kubernetesVersionMin`\" pulumi-lang-python=\"`kubernetes_version_min`\" pulumi-lang-yaml=\"`kubernetesVersionMin`\" pulumi-lang-java=\"`kubernetesVersionMin`\"\u003e`kubernetes_version_min`\u003c/span\u003e, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "maintenance": { "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance", @@ -13595,7 +14569,7 @@ }, "kubernetesVersionMin": { "type": "string", - "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" + "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" }, "maintenance": { "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance", @@ -13652,11 +14626,11 @@ }, "kubernetesVersionMin": { "type": "string", - "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" + "description": "The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" }, "kubernetesVersionUsed": { "type": "string", - "description": "Full Kubernetes version used. For example, if 1.22 was set in \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionMin`\" pulumi-lang-dotnet=\"`KubernetesVersionMin`\" pulumi-lang-go=\"`kubernetesVersionMin`\" pulumi-lang-python=\"`kubernetes_version_min`\" pulumi-lang-yaml=\"`kubernetesVersionMin`\" pulumi-lang-java=\"`kubernetesVersionMin`\"\u003e`kubernetes_version_min`\u003c/span\u003e, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html).\n" + "description": "Full Kubernetes version used. For example, if 1.22 was set in \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionMin`\" pulumi-lang-dotnet=\"`KubernetesVersionMin`\" pulumi-lang-go=\"`kubernetesVersionMin`\" pulumi-lang-python=\"`kubernetes_version_min`\" pulumi-lang-yaml=\"`kubernetesVersionMin`\" pulumi-lang-java=\"`kubernetesVersionMin`\"\u003e`kubernetes_version_min`\u003c/span\u003e, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/).\n" }, "maintenance": { "$ref": "#/types/stackit:index/SkeClusterMaintenance:SkeClusterMaintenance", @@ -14103,7 +15077,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.volume_id}\"\n}\n```\n", + "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", "properties": { "availabilityZone": { "type": "string", @@ -14126,12 +15100,16 @@ }, "performanceClass": { "type": "string", - "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n" + "description": "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)\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the volume is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID of the server to which the volume is attached to.\n" @@ -14155,6 +15133,7 @@ "name", "performanceClass", "projectId", + "region", "serverId", "size", "volumeId" @@ -14181,12 +15160,16 @@ }, "performanceClass": { "type": "string", - "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n" + "description": "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)\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the volume is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "size": { "type": "integer", "description": "The size of the volume in GB. It can only be updated to a larger value than the current size. Either \u003cspan pulumi-lang-nodejs=\"`size`\" pulumi-lang-dotnet=\"`Size`\" pulumi-lang-go=\"`size`\" pulumi-lang-python=\"`size`\" pulumi-lang-yaml=\"`size`\" pulumi-lang-java=\"`size`\"\u003e`size`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e must be provided\n" @@ -14224,12 +15207,16 @@ }, "performanceClass": { "type": "string", - "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n" + "description": "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)\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the volume is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID of the server to which the volume is attached to.\n" @@ -14293,6 +15280,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -14329,6 +15320,10 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the affinity group is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -14860,7 +15855,12 @@ }, "state": { "type": "string", - "description": "Specifies the state of the project.\n" + "description": "Specifies the status of the project.\n", + "deprecationMessage": "Deprecated: Will be removed in May 2026. Use the \u003cspan pulumi-lang-nodejs=\"`status`\" pulumi-lang-dotnet=\"`Status`\" pulumi-lang-go=\"`status`\" pulumi-lang-python=\"`status`\" pulumi-lang-yaml=\"`status`\" pulumi-lang-java=\"`status`\"\u003e`status`\u003c/span\u003e field instead." + }, + "status": { + "type": "string", + "description": "Specifies the status of the project.\n" }, "updatedAt": { "type": "string", @@ -14875,6 +15875,7 @@ "internetAccess", "projectId", "state", + "status", "updatedAt" ] } @@ -14891,6 +15892,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the image is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -14948,6 +15953,10 @@ "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" @@ -14995,6 +16004,10 @@ "type": "string", "description": "STACKIT project ID to which the image is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "sortAscending": { "type": "boolean", "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`).\n" @@ -15062,6 +16075,10 @@ "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" @@ -15682,6 +16699,9 @@ "projectId": { "type": "string" }, + "region": { + "type": "string" + }, "sortAscending": { "type": "boolean" } @@ -15723,6 +16743,9 @@ "ram": { "type": "integer" }, + "region": { + "type": "string" + }, "sortAscending": { "type": "boolean" }, @@ -16282,11 +17305,13 @@ "items": { "type": "string" }, - "description": "List of DNS Servers/Nameservers.\n" + "description": "List of DNS Servers/Nameservers.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "defaultPrefixLength": { "type": "integer", - "description": "The default prefix length for networks in the network area.\n" + "description": "The default prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "id": { "type": "string" @@ -16300,11 +17325,13 @@ }, "maxPrefixLength": { "type": "integer", - "description": "The maximal prefix length for networks in the network area.\n" + "description": "The maximal prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "minPrefixLength": { "type": "integer", - "description": "The minimal prefix length for networks in the network area.\n" + "description": "The minimal prefix length for networks in the network area.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "name": { "type": "string", @@ -16319,7 +17346,8 @@ "items": { "$ref": "#/types/stackit:index/getNetworkAreaNetworkRange:getNetworkAreaNetworkRange" }, - "description": "List of Network ranges.\n" + "description": "List of Network ranges.\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." }, "organizationId": { "type": "string", @@ -16331,7 +17359,8 @@ }, "transferNetwork": { "type": "string", - "description": "Classless Inter-Domain Routing (CIDR).\n" + "description": "Classless Inter-Domain Routing (CIDR).\n", + "deprecationMessage": "Deprecated because of the IaaS API v1 -\u003e v2 migration. Will be removed in May 2026." } }, "type": "object", @@ -16351,6 +17380,62 @@ ] } }, + "stackit:index/getNetworkAreaRegion:getNetworkAreaRegion": { + "description": "Network area region data source schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_network_area_region\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getNetworkAreaRegion.\n", + "properties": { + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "networkAreaId", + "organizationId" + ] + }, + "outputs": { + "description": "A collection of values returned by getNetworkAreaRegion.\n", + "properties": { + "id": { + "type": "string" + }, + "ipv4": { + "$ref": "#/types/stackit:index/getNetworkAreaRegionIpv4:getNetworkAreaRegionIpv4", + "description": "The regional IPv4 config of a network area.\n" + }, + "networkAreaId": { + "type": "string", + "description": "The network area ID.\n" + }, + "organizationId": { + "type": "string", + "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "id", + "ipv4", + "networkAreaId", + "organizationId" + ] + } + }, "stackit:index/getNetworkAreaRoute:getNetworkAreaRoute": { "description": "Network area route data 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\ndata \"stackit_network_area_route\" \"example\" {\n organization_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_area_route_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { @@ -16367,6 +17452,10 @@ "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -16379,6 +17468,10 @@ "outputs": { "description": "A collection of values returned by getNetworkAreaRoute.\n", "properties": { + "destination": { + "$ref": "#/types/stackit:index/getNetworkAreaRouteDestination:getNetworkAreaRouteDestination", + "description": "Destination of the route.\n" + }, "id": { "type": "string" }, @@ -16398,27 +17491,27 @@ "description": "The network area route ID.\n" }, "nextHop": { - "type": "string", - "description": "The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address.\n" + "$ref": "#/types/stackit:index/getNetworkAreaRouteNextHop:getNetworkAreaRouteNextHop", + "description": "Next hop destination.\n" }, "organizationId": { "type": "string", "description": "STACKIT organization ID to which the network area is associated.\n" }, - "prefix": { + "region": { "type": "string", - "description": "The network, that is reachable though the Next Hop. Should use CIDR notation.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "destination", "id", "labels", "networkAreaId", "networkAreaRouteId", "nextHop", - "organizationId", - "prefix" + "organizationId" ] } }, @@ -16438,6 +17531,10 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the network interface is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -16495,6 +17592,10 @@ "type": "string", "description": "STACKIT project ID to which the network interface is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "security": { "type": "boolean", "description": "The Network Interface Security. If set to false, then no security groups will apply to this network interface.\n" @@ -17545,6 +18646,10 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -17581,6 +18686,10 @@ "publicIpId": { "type": "string", "description": "The public IP ID.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", @@ -18816,6 +19925,10 @@ "type": "string", "description": "STACKIT project ID to which the security group is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "securityGroupId": { "type": "string", "description": "The security group ID.\n" @@ -18852,6 +19965,10 @@ "type": "string", "description": "STACKIT project ID to which the security group is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "securityGroupId": { "type": "string", "description": "The security group ID.\n" @@ -18882,6 +19999,10 @@ "type": "string", "description": "STACKIT project ID to which the security group rule is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "securityGroupId": { "type": "string", "description": "The security group ID.\n" @@ -18936,6 +20057,10 @@ "$ref": "#/types/stackit:index/getSecurityGroupRuleProtocol:getSecurityGroupRuleProtocol", "description": "The internet protocol which the rule should match.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "remoteSecurityGroupId": { "type": "string", "description": "The remote security group which the rule should match.\n" @@ -18975,6 +20100,10 @@ "type": "string", "description": "STACKIT project ID to which the server is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -19029,7 +20158,7 @@ }, "machineType": { "type": "string", - "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html)\n" + "description": "Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/)\n" }, "name": { "type": "string", @@ -19046,6 +20175,10 @@ "type": "string", "description": "STACKIT project ID to which the server is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID.\n" @@ -19406,6 +20539,304 @@ ] } }, + "stackit:index/getSfsExportPolicy:getSfsExportPolicy": { + "description": "SFS export policy datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n policy_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSfsExportPolicy.\n", + "properties": { + "policyId": { + "type": "string", + "description": "Export policy ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the export policy is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "policyId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSfsExportPolicy.\n", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string", + "description": "Name of the export policy.\n" + }, + "policyId": { + "type": "string", + "description": "Export policy ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the export policy is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsExportPolicyRule:getSfsExportPolicyRule" + } + } + }, + "type": "object", + "required": [ + "id", + "name", + "policyId", + "projectId", + "region", + "rules" + ] + } + }, + "stackit:index/getSfsResourcePool:getSfsResourcePool": { + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSfsResourcePool.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resourcepool ID\n" + } + }, + "type": "object", + "required": [ + "projectId", + "resourcePoolId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSfsResourcePool.\n", + "properties": { + "availabilityZone": { + "type": "string", + "description": "Availability zone.\n" + }, + "id": { + "type": "string" + }, + "ipAcls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + }, + "name": { + "type": "string", + "description": "Name of the resource pool.\n" + }, + "performanceClass": { + "type": "string", + "description": "Name of the performance class.\n" + }, + "performanceClassDowngradableAt": { + "type": "string", + "description": "Time when the performance class can be downgraded again.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resourcepool ID\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "sizeReducibleAt": { + "type": "string", + "description": "Time when the size can be reduced again.\n" + }, + "snapshotsAreVisible": { + "type": "boolean", + "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + } + }, + "type": "object", + "required": [ + "availabilityZone", + "id", + "ipAcls", + "name", + "performanceClass", + "performanceClassDowngradableAt", + "projectId", + "resourcePoolId", + "sizeGigabytes", + "sizeReducibleAt", + "snapshotsAreVisible" + ] + } + }, + "stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot": { + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_resource_pool_snapshot\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSfsResourcePoolSnapshot.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resource pool ID\n" + } + }, + "type": "object", + "required": [ + "projectId", + "resourcePoolId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSfsResourcePoolSnapshot.\n", + "properties": { + "id": { + "type": "string" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resource pool ID\n" + }, + "snapshots": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot" + }, + "description": "Resource-pool datasource 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" + } + }, + "type": "object", + "required": [ + "id", + "projectId", + "resourcePoolId", + "snapshots" + ] + } + }, + "stackit:index/getSfsShare:getSfsShare": { + "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e 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_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n share_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getSfsShare.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the share is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" + } + }, + "type": "object", + "required": [ + "projectId", + "resourcePoolId", + "shareId" + ] + }, + "outputs": { + "description": "A collection of values returned by getSfsShare.\n", + "properties": { + "exportPolicy": { + "type": "string", + "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is not set, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" + }, + "id": { + "type": "string" + }, + "mountPath": { + "type": "string", + "description": "Mount path of the Share, used to mount the Share\n" + }, + "name": { + "type": "string", + "description": "Name of the Share\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the share is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" + }, + "spaceHardLimitGigabytes": { + "type": "integer", + "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" + } + }, + "type": "object", + "required": [ + "exportPolicy", + "id", + "mountPath", + "name", + "projectId", + "resourcePoolId", + "shareId", + "spaceHardLimitGigabytes" + ] + } + }, "stackit:index/getSkeCluster:getSkeCluster": { "description": "SKE Cluster data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-name\"\n}\n```\n", "inputs": { @@ -19456,7 +20887,7 @@ }, "kubernetesVersionMin": { "type": "string", - "description": "The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" + "description": "The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetes_version_used`\u003c/span\u003e field.\n" }, "kubernetesVersionUsed": { "type": "string", @@ -19695,6 +21126,10 @@ "type": "string", "description": "STACKIT project ID to which the volume is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "volumeId": { "type": "string", "description": "The volume ID.\n" @@ -19733,12 +21168,16 @@ }, "performanceClass": { "type": "string", - "description": "The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29)\n" + "description": "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)\n" }, "projectId": { "type": "string", "description": "STACKIT project ID to which the volume is associated.\n" }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, "serverId": { "type": "string", "description": "The server ID of the server to which the volume is attached to.\n" diff --git a/provider/go.mod b/provider/go.mod index ffebba3..45e7702 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -85,7 +85,7 @@ require ( github.com/hashicorp/terraform-plugin-go v0.29.0 // indirect github.com/hashicorp/terraform-plugin-log v0.10.0 // indirect github.com/hashicorp/terraform-plugin-sdk v1.8.0 // indirect - github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 // indirect + github.com/hashicorp/terraform-plugin-sdk/v2 v2.38.1 // indirect github.com/hashicorp/terraform-registry-address v0.4.0 // indirect github.com/hashicorp/terraform-svchost v0.1.1 // indirect github.com/hashicorp/yamux v0.1.2 // indirect @@ -152,12 +152,12 @@ require ( github.com/spf13/cast v1.5.0 // indirect github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/pflag v1.0.10 // indirect - github.com/stackitcloud/stackit-sdk-go/core v0.20.0 // 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/iaas v0.31.0 // 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 @@ -171,16 +171,17 @@ require ( 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/resourcemanager v0.17.1 // 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/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.73.0 // indirect + github.com/stackitcloud/terraform-provider-stackit v0.76.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 @@ -202,17 +203,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.45.0 // indirect + golang.org/x/crypto v0.46.0 // indirect golang.org/x/exp v0.0.0-20250718183923-645b1fa84792 // indirect - golang.org/x/mod v0.30.0 // indirect - golang.org/x/net v0.47.0 // indirect + golang.org/x/mod v0.31.0 // indirect + golang.org/x/net v0.48.0 // indirect golang.org/x/oauth2 v0.30.0 // indirect - golang.org/x/sync v0.18.0 // indirect - golang.org/x/sys v0.38.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.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/time v0.12.0 // indirect - golang.org/x/tools v0.39.0 // indirect + golang.org/x/tools v0.40.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 747b025..79a1938 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -1043,11 +1043,11 @@ github.com/hashicorp/hil v0.0.0-20190212132231-97b3a9cdfa93/go.mod h1:n2TSygSNws github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/terraform-config-inspect v0.0.0-20191115094559-17f92b0546e8/go.mod h1:p+ivJws3dpqbp1iP84+npOyAmTTOLMgCzrXd3GSdn/A= -github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEsiXmzATMW/I= -github.com/hashicorp/terraform-exec v0.23.0/go.mod h1:mA+qnx1R8eePycfwKkCRk3Wy65mwInvlpAeOwmA7vlY= +github.com/hashicorp/terraform-exec v0.24.0 h1:mL0xlk9H5g2bn0pPF6JQZk5YlByqSqrO5VoaNtAf8OE= +github.com/hashicorp/terraform-exec v0.24.0/go.mod h1:lluc/rDYfAhYdslLJQg3J0oDqo88oGQAdHR+wDqFvo4= github.com/hashicorp/terraform-json v0.4.0/go.mod h1:eAbqb4w0pSlRmdvl8fOyHAi/+8jnkVYN28gJkSJrLhU= -github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= -github.com/hashicorp/terraform-json v0.25.0/go.mod h1:sMKS8fiRDX4rVlR6EJUMudg1WcanxCMoWwTLkgZP/vc= +github.com/hashicorp/terraform-json v0.27.2 h1:BwGuzM6iUPqf9JYM/Z4AF1OJ5VVJEEzoKST/tRDBJKU= +github.com/hashicorp/terraform-json v0.27.2/go.mod h1:GzPLJ1PLdUG5xL6xn1OXWIjteQRT2CNT9o/6A9mi9hE= github.com/hashicorp/terraform-plugin-framework v1.17.0 h1:JdX50CFrYcYFY31gkmitAEAzLKoBgsK+iaJjDC8OexY= github.com/hashicorp/terraform-plugin-framework v1.17.0/go.mod h1:4OUXKdHNosX+ys6rLgVlgklfxN3WHR5VHSOABeS/BM0= github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 h1:Zz3iGgzxe/1XBkooZCewS0nJAaCFPFPHdNJd8FgE4Ow= @@ -1059,8 +1059,8 @@ github.com/hashicorp/terraform-plugin-log v0.10.0/go.mod h1:/9RR5Cv2aAbrqcTSdNmY github.com/hashicorp/terraform-plugin-sdk v1.8.0 h1:HE1p52nzcgz88hIJmapUnkmM9noEjV3QhTOLaua5XUA= github.com/hashicorp/terraform-plugin-sdk v1.8.0/go.mod h1:OjgQmey5VxnPej/buEhe+YqKm0KNvV3QqU4hkqHqPCY= github.com/hashicorp/terraform-plugin-test v1.2.0/go.mod h1:QIJHYz8j+xJtdtLrFTlzQVC0ocr3rf/OjIpgZLK56Hs= -github.com/hashicorp/terraform-plugin-testing v1.13.3 h1:QLi/khB8Z0a5L54AfPrHukFpnwsGL8cwwswj4RZduCo= -github.com/hashicorp/terraform-plugin-testing v1.13.3/go.mod h1:WHQ9FDdiLoneey2/QHpGM/6SAYf4A7AZazVg7230pLE= +github.com/hashicorp/terraform-plugin-testing v1.14.0 h1:5t4VKrjOJ0rg0sVuSJ86dz5K7PHsMO6OKrHFzDBerWA= +github.com/hashicorp/terraform-plugin-testing v1.14.0/go.mod h1:1qfWkecyYe1Do2EEOK/5/WnTyvC8wQucUkkhiGLg5nk= github.com/hashicorp/terraform-registry-address v0.4.0 h1:S1yCGomj30Sao4l5BMPjTGZmCNzuv7/GDTDX99E9gTk= github.com/hashicorp/terraform-registry-address v0.4.0/go.mod h1:LRS1Ay0+mAiRkUyltGT+UHWkIqTFvigGn/LbMshfflE= github.com/hashicorp/terraform-svchost v0.0.0-20191011084731-65d371908596/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg= @@ -1340,8 +1340,8 @@ github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.2 h1:aRo00d97UP github.com/stackitcloud/pulumi-stackit/provider/pkg/version v0.0.2/go.mod h1:AYaRzbN02xCp5DnA2tbc/5pnFxHvY12bp3KftVkZhOE= github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.2 h1:y0sicyp0hoFbIa6dK6tj+wQY4rkpIeydoSbk21vorjw= github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.2/go.mod h1:gZNU2F3aoul0a08FpWJm9Uhy94dL7oPiMJznePBr0Kc= -github.com/stackitcloud/stackit-sdk-go/core v0.20.0 h1:4rrUk6uT1g4nOn5/g1uXukP07Tux/o5xbMz/f/qE1rY= -github.com/stackitcloud/stackit-sdk-go/core v0.20.0/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= +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= @@ -1350,8 +1350,8 @@ github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 h1:CnhAMLql0MNmAeq4r 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/iaas v0.31.0 h1:dnEjyapuv8WwRN5vE2z6+4/+ZqQTBx+bX27x2nOF7Jw= -github.com/stackitcloud/stackit-sdk-go/services/iaas v0.31.0/go.mod h1:854gnLR92NvAbJAA1xZEumrtNh1DoBP1FXTMvhwYA6w= +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= @@ -1378,8 +1378,8 @@ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 h1:ALrDCBih8Fu8 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/resourcemanager v0.17.1 h1:r7oaINTwLmIG31AaqKTuQHHFF8YNuYGzi+46DOuSjw4= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.17.1/go.mod h1:ipcrPRbwfQXHH18dJVfY7K5ujHF5dTT6isoXgmA7YwQ= +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= @@ -1392,12 +1392,14 @@ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 h1:crKlHl 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/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.73.0 h1:JtTP3oPDNHbZ6ncoPN+c14/RM5BT5eyoBb0H2eoHtIM= -github.com/stackitcloud/terraform-provider-stackit v0.73.0/go.mod h1:xJWWddnkjtv/ayX0kjewrw0Mi6IPWbUdOz3PPnGiMmc= +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/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= @@ -1520,8 +1522,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.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= +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/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= @@ -1584,8 +1586,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.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= -golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= +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.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= @@ -1652,8 +1654,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.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= +golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= 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= @@ -1705,8 +1707,8 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= -golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1802,8 +1804,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.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +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/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= @@ -1818,8 +1820,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.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= +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/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= @@ -1840,8 +1842,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.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +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/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= @@ -1916,8 +1918,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.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= -golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= +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/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 118ac6f..3ed2b3b 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -4,14 +4,13 @@ go 1.24.0 toolchain go1.24.2 -require github.com/stackitcloud/terraform-provider-stackit v0.73.0 +require github.com/stackitcloud/terraform-provider-stackit v0.76.0 require ( - github.com/hashicorp/hcl/v2 v2.24.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/scf v0.2.1 // indirect - github.com/zclconf/go-cty v1.17.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 // indirect ) require ( @@ -28,12 +27,12 @@ require ( github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect - github.com/stackitcloud/stackit-sdk-go/core v0.20.0 // 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/iaas v0.31.0 // 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 @@ -45,7 +44,7 @@ require ( 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/resourcemanager v0.17.1 // 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 @@ -56,6 +55,6 @@ require ( 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.30.0 // indirect - golang.org/x/sys v0.38.0 // indirect + golang.org/x/mod v0.31.0 // indirect + golang.org/x/sys v0.39.0 // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 4f77e64..971de06 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -41,8 +41,8 @@ github.com/hashicorp/hcl/v2 v2.24.0 h1:2QJdZ454DSsYGoaE6QheQZjtKZSUs9Nh2izTWiwQx github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/terraform-exec v0.23.0 h1:MUiBM1s0CNlRFsCLJuM5wXZrzA3MnPYEsiXmzATMW/I= -github.com/hashicorp/terraform-json v0.25.0 h1:rmNqc/CIfcWawGiwXmRuiXJKEiJu1ntGoxseG1hLhoQ= +github.com/hashicorp/terraform-exec v0.24.0 h1:mL0xlk9H5g2bn0pPF6JQZk5YlByqSqrO5VoaNtAf8OE= +github.com/hashicorp/terraform-json v0.27.2 h1:BwGuzM6iUPqf9JYM/Z4AF1OJ5VVJEEzoKST/tRDBJKU= github.com/hashicorp/terraform-plugin-framework v1.17.0 h1:JdX50CFrYcYFY31gkmitAEAzLKoBgsK+iaJjDC8OexY= github.com/hashicorp/terraform-plugin-framework v1.17.0/go.mod h1:4OUXKdHNosX+ys6rLgVlgklfxN3WHR5VHSOABeS/BM0= github.com/hashicorp/terraform-plugin-framework-validators v0.19.0 h1:Zz3iGgzxe/1XBkooZCewS0nJAaCFPFPHdNJd8FgE4Ow= @@ -51,9 +51,9 @@ github.com/hashicorp/terraform-plugin-go v0.29.0 h1:1nXKl/nSpaYIUBU1IG/EsDOX0vv+ github.com/hashicorp/terraform-plugin-go v0.29.0/go.mod h1:vYZbIyvxyy0FWSmDHChCqKvI40cFTDGSb3D8D70i9GM= github.com/hashicorp/terraform-plugin-log v0.10.0 h1:eu2kW6/QBVdN4P3Ju2WiB2W3ObjkAsyfBsL3Wh1fj3g= github.com/hashicorp/terraform-plugin-log v0.10.0/go.mod h1:/9RR5Cv2aAbrqcTSdNmY1NRHP4E3ekrXRGjqORpXyB0= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0 h1:NFPMacTrY/IdcIcnUB+7hsore1ZaRWU9cnB6jFoBnIM= -github.com/hashicorp/terraform-plugin-sdk/v2 v2.37.0/go.mod h1:QYmYnLfsosrxjCnGY1p9c7Zj6n9thnEE+7RObeYs3fA= -github.com/hashicorp/terraform-plugin-testing v1.13.3 h1:QLi/khB8Z0a5L54AfPrHukFpnwsGL8cwwswj4RZduCo= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.38.1 h1:mlAq/OrMlg04IuJT7NpefI1wwtdpWudnEmjuQs04t/4= +github.com/hashicorp/terraform-plugin-sdk/v2 v2.38.1/go.mod h1:GQhpKVvvuwzD79e8/NZ+xzj+ZpWovdPAe8nfV/skwNU= +github.com/hashicorp/terraform-plugin-testing v1.14.0 h1:5t4VKrjOJ0rg0sVuSJ86dz5K7PHsMO6OKrHFzDBerWA= github.com/hashicorp/terraform-registry-address v0.4.0 h1:S1yCGomj30Sao4l5BMPjTGZmCNzuv7/GDTDX99E9gTk= github.com/hashicorp/terraform-registry-address v0.4.0/go.mod h1:LRS1Ay0+mAiRkUyltGT+UHWkIqTFvigGn/LbMshfflE= github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ= @@ -82,8 +82,8 @@ github.com/oklog/run v1.2.0 h1:O8x3yXwah4A73hJdlrwo/2X6J62gE5qTMusH0dvz60E= github.com/oklog/run v1.2.0/go.mod h1:mgDbKRSwPhJfesJ4PntqFUbKQRZ50NgmZTSPlFA0YFk= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= -github.com/stackitcloud/stackit-sdk-go/core v0.20.0 h1:4rrUk6uT1g4nOn5/g1uXukP07Tux/o5xbMz/f/qE1rY= -github.com/stackitcloud/stackit-sdk-go/core v0.20.0/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= +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= @@ -92,8 +92,8 @@ github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.1 h1:CnhAMLql0MNmAeq4r 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/iaas v0.31.0 h1:dnEjyapuv8WwRN5vE2z6+4/+ZqQTBx+bX27x2nOF7Jw= -github.com/stackitcloud/stackit-sdk-go/services/iaas v0.31.0/go.mod h1:854gnLR92NvAbJAA1xZEumrtNh1DoBP1FXTMvhwYA6w= +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= @@ -120,8 +120,8 @@ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.25.1 h1:ALrDCBih8Fu8 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/resourcemanager v0.17.1 h1:r7oaINTwLmIG31AaqKTuQHHFF8YNuYGzi+46DOuSjw4= -github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.17.1/go.mod h1:ipcrPRbwfQXHH18dJVfY7K5ujHF5dTT6isoXgmA7YwQ= +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= @@ -134,12 +134,14 @@ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.1 h1:crKlHl 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/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.73.0 h1:JtTP3oPDNHbZ6ncoPN+c14/RM5BT5eyoBb0H2eoHtIM= -github.com/stackitcloud/terraform-provider-stackit v0.73.0/go.mod h1:xJWWddnkjtv/ayX0kjewrw0Mi6IPWbUdOz3PPnGiMmc= +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/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= @@ -153,24 +155,23 @@ 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.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q= -golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4= -golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk= -golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= -golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +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/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= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= -golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= -golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= +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= 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/AffinityGroup.cs b/sdk/dotnet/AffinityGroup.cs index b095e37..c91b708 100644 --- a/sdk/dotnet/AffinityGroup.cs +++ b/sdk/dotnet/AffinityGroup.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Affinity Group schema. Must have a `Region` specified in the provider configuration. + /// Affinity Group schema. /// /// ## Example Usage /// @@ -47,6 +47,12 @@ public partial class AffinityGroup : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { 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 AffinityGroup resource with the given unique name, arguments, and options. @@ -112,6 +118,12 @@ public sealed class AffinityGroupArgs : global::Pulumi.ResourceArgs [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 AffinityGroupArgs() { } @@ -156,6 +168,12 @@ public InputList Members [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public AffinityGroupState() { } diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index e131eaf..fdf3a25 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -382,6 +382,16 @@ public static string? ServiceEnablementCustomEndpoint set => _serviceEnablementCustomEndpoint.Set(value); } + private static readonly __Value _sfsCustomEndpoint = new __Value(() => __config.Get("sfsCustomEndpoint")); + /// + /// Custom endpoint for the Stackit Filestorage API + /// + public static string? SfsCustomEndpoint + { + get => _sfsCustomEndpoint.Get(); + set => _sfsCustomEndpoint.Set(value); + } + private static readonly __Value _skeCustomEndpoint = new __Value(() => __config.Get("skeCustomEndpoint")); /// /// Custom endpoint for the Kubernetes Engine (SKE) service diff --git a/sdk/dotnet/GetAffinityGroup.cs b/sdk/dotnet/GetAffinityGroup.cs index 5e16a16..a06bc3b 100644 --- a/sdk/dotnet/GetAffinityGroup.cs +++ b/sdk/dotnet/GetAffinityGroup.cs @@ -72,6 +72,12 @@ public sealed class GetAffinityGroupArgs : global::Pulumi.InvokeArgs [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 GetAffinityGroupArgs() { } @@ -92,6 +98,12 @@ public sealed class GetAffinityGroupInvokeArgs : global::Pulumi.InvokeArgs [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 GetAffinityGroupInvokeArgs() { } @@ -123,6 +135,10 @@ public sealed class GetAffinityGroupResult /// STACKIT Project ID to which the affinity group is associated. /// public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; [OutputConstructor] private GetAffinityGroupResult( @@ -136,7 +152,9 @@ private GetAffinityGroupResult( string policy, - string projectId) + string projectId, + + string? region) { AffinityGroupId = affinityGroupId; Id = id; @@ -144,6 +162,7 @@ private GetAffinityGroupResult( Name = name; Policy = policy; ProjectId = projectId; + Region = region; } } } diff --git a/sdk/dotnet/GetIaasProject.cs b/sdk/dotnet/GetIaasProject.cs index f3f022e..d8429a0 100644 --- a/sdk/dotnet/GetIaasProject.cs +++ b/sdk/dotnet/GetIaasProject.cs @@ -105,10 +105,14 @@ public sealed class GetIaasProjectResult /// public readonly string ProjectId; /// - /// Specifies the state of the project. + /// Specifies the status of the project. /// public readonly string State; /// + /// Specifies the status of the project. + /// + public readonly string Status; + /// /// Date-time when the project was last updated. /// public readonly string UpdatedAt; @@ -127,6 +131,8 @@ private GetIaasProjectResult( string state, + string status, + string updatedAt) { AreaId = areaId; @@ -135,6 +141,7 @@ private GetIaasProjectResult( InternetAccess = internetAccess; ProjectId = projectId; State = state; + Status = status; UpdatedAt = updatedAt; } } diff --git a/sdk/dotnet/GetImage.cs b/sdk/dotnet/GetImage.cs index 42ca3c2..ba9f9f9 100644 --- a/sdk/dotnet/GetImage.cs +++ b/sdk/dotnet/GetImage.cs @@ -72,6 +72,12 @@ public sealed class GetImageArgs : global::Pulumi.InvokeArgs [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 GetImageArgs() { } @@ -92,6 +98,12 @@ public sealed class GetImageInvokeArgs : global::Pulumi.InvokeArgs [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 GetImageInvokeArgs() { } @@ -144,6 +156,10 @@ public sealed class GetImageResult /// public readonly bool Protected; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The scope of the image. /// public readonly string Scope; @@ -172,6 +188,8 @@ private GetImageResult( bool @protected, + string? region, + string scope) { Checksum = checksum; @@ -185,6 +203,7 @@ private GetImageResult( Name = name; ProjectId = projectId; Protected = @protected; + Region = region; Scope = scope; } } diff --git a/sdk/dotnet/GetImageV2.cs b/sdk/dotnet/GetImageV2.cs index cfa780c..29e83d8 100644 --- a/sdk/dotnet/GetImageV2.cs +++ b/sdk/dotnet/GetImageV2.cs @@ -156,6 +156,12 @@ public sealed class GetImageV2Args : global::Pulumi.InvokeArgs [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; } + /// /// If set to `True`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `False` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). /// @@ -200,6 +206,12 @@ public sealed class GetImageV2InvokeArgs : global::Pulumi.InvokeArgs [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; } + /// /// If set to `True`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `False` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). /// @@ -266,6 +278,10 @@ public sealed class GetImageV2Result /// public readonly bool Protected; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The scope of the image. /// public readonly string Scope; @@ -302,6 +318,8 @@ private GetImageV2Result( bool @protected, + string? region, + string scope, bool? sortAscending) @@ -319,6 +337,7 @@ private GetImageV2Result( NameRegex = nameRegex; ProjectId = projectId; Protected = @protected; + Region = region; Scope = scope; SortAscending = sortAscending; } diff --git a/sdk/dotnet/GetMachineType.cs b/sdk/dotnet/GetMachineType.cs index b36cf58..2d31b2d 100644 --- a/sdk/dotnet/GetMachineType.cs +++ b/sdk/dotnet/GetMachineType.cs @@ -126,6 +126,9 @@ public sealed class GetMachineTypeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public string ProjectId { get; set; } = null!; + [Input("region")] + public string? Region { get; set; } + [Input("sortAscending")] public bool? SortAscending { get; set; } @@ -146,6 +149,9 @@ public sealed class GetMachineTypeInvokeArgs : global::Pulumi.InvokeArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("region")] + public Input? Region { get; set; } + [Input("sortAscending")] public Input? SortAscending { get; set; } @@ -170,6 +176,7 @@ public sealed class GetMachineTypeResult public readonly string Name; public readonly string ProjectId; public readonly int Ram; + public readonly string? Region; public readonly bool? SortAscending; public readonly int Vcpus; @@ -191,6 +198,8 @@ private GetMachineTypeResult( int ram, + string? region, + bool? sortAscending, int vcpus) @@ -203,6 +212,7 @@ private GetMachineTypeResult( Name = name; ProjectId = projectId; Ram = ram; + Region = region; SortAscending = sortAscending; Vcpus = vcpus; } diff --git a/sdk/dotnet/GetNetworkAreaRegion.cs b/sdk/dotnet/GetNetworkAreaRegion.cs new file mode 100644 index 0000000..e223a2f --- /dev/null +++ b/sdk/dotnet/GetNetworkAreaRegion.cs @@ -0,0 +1,154 @@ +// *** 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 GetNetworkAreaRegion + { + /// + /// Network area region data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_network_area_region" "example" { + /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetNetworkAreaRegionArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", args ?? new GetNetworkAreaRegionArgs(), options.WithDefaults()); + + /// + /// Network area region data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_network_area_region" "example" { + /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetNetworkAreaRegionInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", args ?? new GetNetworkAreaRegionInvokeArgs(), options.WithDefaults()); + + /// + /// Network area region data source schema. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_network_area_region" "example" { + /// organization_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// network_area_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetNetworkAreaRegionInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", args ?? new GetNetworkAreaRegionInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetNetworkAreaRegionArgs : global::Pulumi.InvokeArgs + { + /// + /// The network area ID. + /// + [Input("networkAreaId", required: true)] + public string NetworkAreaId { get; set; } = null!; + + /// + /// STACKIT organization ID to which the network area is associated. + /// + [Input("organizationId", required: true)] + public string OrganizationId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetNetworkAreaRegionArgs() + { + } + public static new GetNetworkAreaRegionArgs Empty => new GetNetworkAreaRegionArgs(); + } + + public sealed class GetNetworkAreaRegionInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The network area ID. + /// + [Input("networkAreaId", required: true)] + public Input NetworkAreaId { get; set; } = null!; + + /// + /// STACKIT organization ID to which the network area is associated. + /// + [Input("organizationId", required: true)] + public Input OrganizationId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetNetworkAreaRegionInvokeArgs() + { + } + public static new GetNetworkAreaRegionInvokeArgs Empty => new GetNetworkAreaRegionInvokeArgs(); + } + + + [OutputType] + public sealed class GetNetworkAreaRegionResult + { + public readonly string Id; + /// + /// The regional IPv4 config of a network area. + /// + public readonly Outputs.GetNetworkAreaRegionIpv4Result Ipv4; + /// + /// The network area ID. + /// + public readonly string NetworkAreaId; + /// + /// STACKIT organization ID to which the network area is associated. + /// + public readonly string OrganizationId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + + [OutputConstructor] + private GetNetworkAreaRegionResult( + string id, + + Outputs.GetNetworkAreaRegionIpv4Result ipv4, + + string networkAreaId, + + string organizationId, + + string? region) + { + Id = id; + Ipv4 = ipv4; + NetworkAreaId = networkAreaId; + OrganizationId = organizationId; + Region = region; + } + } +} diff --git a/sdk/dotnet/GetNetworkAreaRoute.cs b/sdk/dotnet/GetNetworkAreaRoute.cs index a7121fc..60020dd 100644 --- a/sdk/dotnet/GetNetworkAreaRoute.cs +++ b/sdk/dotnet/GetNetworkAreaRoute.cs @@ -81,6 +81,12 @@ public sealed class GetNetworkAreaRouteArgs : global::Pulumi.InvokeArgs [Input("organizationId", required: true)] public string OrganizationId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetNetworkAreaRouteArgs() { } @@ -107,6 +113,12 @@ public sealed class GetNetworkAreaRouteInvokeArgs : global::Pulumi.InvokeArgs [Input("organizationId", required: true)] public Input OrganizationId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetNetworkAreaRouteInvokeArgs() { } @@ -117,6 +129,10 @@ public GetNetworkAreaRouteInvokeArgs() [OutputType] public sealed class GetNetworkAreaRouteResult { + /// + /// Destination of the route. + /// + public readonly Outputs.GetNetworkAreaRouteDestinationResult Destination; public readonly string Id; /// /// Labels are key-value string pairs which can be attached to a resource container @@ -131,20 +147,22 @@ public sealed class GetNetworkAreaRouteResult /// public readonly string NetworkAreaRouteId; /// - /// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + /// Next hop destination. /// - public readonly string NextHop; + public readonly Outputs.GetNetworkAreaRouteNextHopResult NextHop; /// /// STACKIT organization ID to which the network area is associated. /// public readonly string OrganizationId; /// - /// The network, that is reachable though the Next Hop. Should use CIDR notation. + /// The resource region. If not defined, the provider region is used. /// - public readonly string Prefix; + public readonly string? Region; [OutputConstructor] private GetNetworkAreaRouteResult( + Outputs.GetNetworkAreaRouteDestinationResult destination, + string id, ImmutableDictionary labels, @@ -153,19 +171,20 @@ private GetNetworkAreaRouteResult( string networkAreaRouteId, - string nextHop, + Outputs.GetNetworkAreaRouteNextHopResult nextHop, string organizationId, - string prefix) + string? region) { + Destination = destination; Id = id; Labels = labels; NetworkAreaId = networkAreaId; NetworkAreaRouteId = networkAreaRouteId; NextHop = nextHop; OrganizationId = organizationId; - Prefix = prefix; + Region = region; } } } diff --git a/sdk/dotnet/GetNetworkInterface.cs b/sdk/dotnet/GetNetworkInterface.cs index a597cef..493632c 100644 --- a/sdk/dotnet/GetNetworkInterface.cs +++ b/sdk/dotnet/GetNetworkInterface.cs @@ -81,6 +81,12 @@ public sealed class GetNetworkInterfaceArgs : global::Pulumi.InvokeArgs [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 GetNetworkInterfaceArgs() { } @@ -107,6 +113,12 @@ public sealed class GetNetworkInterfaceInvokeArgs : global::Pulumi.InvokeArgs [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 GetNetworkInterfaceInvokeArgs() { } @@ -155,6 +167,10 @@ public sealed class GetNetworkInterfaceResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The Network Interface Security. If set to false, then no security groups will apply to this network interface. /// public readonly bool Security; @@ -189,6 +205,8 @@ private GetNetworkInterfaceResult( string projectId, + string? region, + bool security, ImmutableArray securityGroupIds, @@ -205,6 +223,7 @@ private GetNetworkInterfaceResult( NetworkId = networkId; NetworkInterfaceId = networkInterfaceId; ProjectId = projectId; + Region = region; Security = security; SecurityGroupIds = securityGroupIds; Type = type; diff --git a/sdk/dotnet/GetPublicIp.cs b/sdk/dotnet/GetPublicIp.cs index 712ba86..c61c95e 100644 --- a/sdk/dotnet/GetPublicIp.cs +++ b/sdk/dotnet/GetPublicIp.cs @@ -72,6 +72,12 @@ public sealed class GetPublicIpArgs : global::Pulumi.InvokeArgs [Input("publicIpId", required: true)] public string PublicIpId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + public GetPublicIpArgs() { } @@ -92,6 +98,12 @@ public sealed class GetPublicIpInvokeArgs : global::Pulumi.InvokeArgs [Input("publicIpId", required: true)] public Input PublicIpId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public GetPublicIpInvokeArgs() { } @@ -123,6 +135,10 @@ public sealed class GetPublicIpResult /// The public IP ID. /// public readonly string PublicIpId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; [OutputConstructor] private GetPublicIpResult( @@ -136,7 +152,9 @@ private GetPublicIpResult( string projectId, - string publicIpId) + string publicIpId, + + string? region) { Id = id; Ip = ip; @@ -144,6 +162,7 @@ private GetPublicIpResult( NetworkInterfaceId = networkInterfaceId; ProjectId = projectId; PublicIpId = publicIpId; + Region = region; } } } diff --git a/sdk/dotnet/GetSecurityGroup.cs b/sdk/dotnet/GetSecurityGroup.cs index b770df1..63f11bd 100644 --- a/sdk/dotnet/GetSecurityGroup.cs +++ b/sdk/dotnet/GetSecurityGroup.cs @@ -66,6 +66,12 @@ public sealed class GetSecurityGroupArgs : global::Pulumi.InvokeArgs [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; } + /// /// The security group ID. /// @@ -86,6 +92,12 @@ public sealed class GetSecurityGroupInvokeArgs : global::Pulumi.InvokeArgs [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; } + /// /// The security group ID. /// @@ -120,6 +132,10 @@ public sealed class GetSecurityGroupResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The security group ID. /// public readonly string SecurityGroupId; @@ -140,6 +156,8 @@ private GetSecurityGroupResult( string projectId, + string? region, + string securityGroupId, bool stateful) @@ -149,6 +167,7 @@ private GetSecurityGroupResult( Labels = labels; Name = name; ProjectId = projectId; + Region = region; SecurityGroupId = securityGroupId; Stateful = stateful; } diff --git a/sdk/dotnet/GetSecurityGroupRule.cs b/sdk/dotnet/GetSecurityGroupRule.cs index 07f1bad..5f14c95 100644 --- a/sdk/dotnet/GetSecurityGroupRule.cs +++ b/sdk/dotnet/GetSecurityGroupRule.cs @@ -69,6 +69,12 @@ public sealed class GetSecurityGroupRuleArgs : global::Pulumi.InvokeArgs [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; } + /// /// The security group ID. /// @@ -95,6 +101,12 @@ public sealed class GetSecurityGroupRuleInvokeArgs : global::Pulumi.InvokeArgs [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; } + /// /// The security group ID. /// @@ -151,6 +163,10 @@ public sealed class GetSecurityGroupRuleResult /// public readonly Outputs.GetSecurityGroupRuleProtocolResult Protocol; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The remote security group which the rule should match. /// public readonly string RemoteSecurityGroupId; @@ -183,6 +199,8 @@ private GetSecurityGroupRuleResult( Outputs.GetSecurityGroupRuleProtocolResult protocol, + string? region, + string remoteSecurityGroupId, string securityGroupId, @@ -198,6 +216,7 @@ private GetSecurityGroupRuleResult( PortRange = portRange; ProjectId = projectId; Protocol = protocol; + Region = region; RemoteSecurityGroupId = remoteSecurityGroupId; SecurityGroupId = securityGroupId; SecurityGroupRuleId = securityGroupRuleId; diff --git a/sdk/dotnet/GetServer.cs b/sdk/dotnet/GetServer.cs index 9902f9b..ff31062 100644 --- a/sdk/dotnet/GetServer.cs +++ b/sdk/dotnet/GetServer.cs @@ -66,6 +66,12 @@ public sealed class GetServerArgs : global::Pulumi.InvokeArgs [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; } + /// /// The server ID. /// @@ -86,6 +92,12 @@ public sealed class GetServerInvokeArgs : global::Pulumi.InvokeArgs [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; } + /// /// The server ID. /// @@ -136,7 +148,7 @@ public sealed class GetServerResult /// public readonly string LaunchedAt; /// - /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) /// public readonly string MachineType; /// @@ -152,6 +164,10 @@ public sealed class GetServerResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The server ID. /// public readonly string ServerId; @@ -192,6 +208,8 @@ private GetServerResult( string projectId, + string? region, + string serverId, string updatedAt, @@ -211,6 +229,7 @@ private GetServerResult( Name = name; NetworkInterfaces = networkInterfaces; ProjectId = projectId; + Region = region; ServerId = serverId; UpdatedAt = updatedAt; UserData = userData; diff --git a/sdk/dotnet/GetSfsExportPolicy.cs b/sdk/dotnet/GetSfsExportPolicy.cs new file mode 100644 index 0000000..9947663 --- /dev/null +++ b/sdk/dotnet/GetSfsExportPolicy.cs @@ -0,0 +1,164 @@ +// *** 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 GetSfsExportPolicy + { + /// + /// SFS export policy datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_export_policy" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// policy_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetSfsExportPolicyArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSfsExportPolicy:getSfsExportPolicy", args ?? new GetSfsExportPolicyArgs(), options.WithDefaults()); + + /// + /// SFS export policy datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_export_policy" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// policy_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetSfsExportPolicyInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsExportPolicy:getSfsExportPolicy", args ?? new GetSfsExportPolicyInvokeArgs(), options.WithDefaults()); + + /// + /// SFS export policy datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_export_policy" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// policy_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetSfsExportPolicyInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsExportPolicy:getSfsExportPolicy", args ?? new GetSfsExportPolicyInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSfsExportPolicyArgs : global::Pulumi.InvokeArgs + { + /// + /// Export policy ID + /// + [Input("policyId", required: true)] + public string PolicyId { get; set; } = null!; + + /// + /// STACKIT project ID to which the export policy is 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 GetSfsExportPolicyArgs() + { + } + public static new GetSfsExportPolicyArgs Empty => new GetSfsExportPolicyArgs(); + } + + public sealed class GetSfsExportPolicyInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// Export policy ID + /// + [Input("policyId", required: true)] + public Input PolicyId { get; set; } = null!; + + /// + /// STACKIT project ID to which the export policy is 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 GetSfsExportPolicyInvokeArgs() + { + } + public static new GetSfsExportPolicyInvokeArgs Empty => new GetSfsExportPolicyInvokeArgs(); + } + + + [OutputType] + public sealed class GetSfsExportPolicyResult + { + public readonly string Id; + /// + /// Name of the export policy. + /// + public readonly string Name; + /// + /// Export policy ID + /// + public readonly string PolicyId; + /// + /// STACKIT project ID to which the export policy is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string Region; + public readonly ImmutableArray Rules; + + [OutputConstructor] + private GetSfsExportPolicyResult( + string id, + + string name, + + string policyId, + + string projectId, + + string region, + + ImmutableArray rules) + { + Id = id; + Name = name; + PolicyId = policyId; + ProjectId = projectId; + Region = region; + Rules = rules; + } + } +} diff --git a/sdk/dotnet/GetSfsResourcePool.cs b/sdk/dotnet/GetSfsResourcePool.cs new file mode 100644 index 0000000..7bcedae --- /dev/null +++ b/sdk/dotnet/GetSfsResourcePool.cs @@ -0,0 +1,209 @@ +// *** 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 GetSfsResourcePool + { + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool" "resourcepool" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Task InvokeAsync(GetSfsResourcePoolArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSfsResourcePool:getSfsResourcePool", args ?? new GetSfsResourcePoolArgs(), options.WithDefaults()); + + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool" "resourcepool" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsResourcePoolInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsResourcePool:getSfsResourcePool", args ?? new GetSfsResourcePoolInvokeArgs(), options.WithDefaults()); + + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool" "resourcepool" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsResourcePoolInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsResourcePool:getSfsResourcePool", args ?? new GetSfsResourcePoolInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSfsResourcePoolArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the resource pool is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// Resourcepool ID + /// + [Input("resourcePoolId", required: true)] + public string ResourcePoolId { get; set; } = null!; + + public GetSfsResourcePoolArgs() + { + } + public static new GetSfsResourcePoolArgs Empty => new GetSfsResourcePoolArgs(); + } + + public sealed class GetSfsResourcePoolInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the resource pool is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Resourcepool ID + /// + [Input("resourcePoolId", required: true)] + public Input ResourcePoolId { get; set; } = null!; + + public GetSfsResourcePoolInvokeArgs() + { + } + public static new GetSfsResourcePoolInvokeArgs Empty => new GetSfsResourcePoolInvokeArgs(); + } + + + [OutputType] + public sealed class GetSfsResourcePoolResult + { + /// + /// Availability zone. + /// + public readonly string AvailabilityZone; + public readonly string Id; + /// + /// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public readonly ImmutableArray IpAcls; + /// + /// Name of the resource pool. + /// + public readonly string Name; + /// + /// Name of the performance class. + /// + public readonly string PerformanceClass; + /// + /// Time when the performance class can be downgraded again. + /// + public readonly string PerformanceClassDowngradableAt; + /// + /// STACKIT project ID to which the resource pool is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + public readonly string? Region; + /// + /// Resourcepool ID + /// + public readonly string ResourcePoolId; + /// + /// Size of the resource pool (unit: gigabytes) + /// + public readonly int SizeGigabytes; + /// + /// Time when the size can be reduced again. + /// + public readonly string SizeReducibleAt; + /// + /// If set to true, snapshots are visible and accessible to users. (default: false) + /// + public readonly bool SnapshotsAreVisible; + + [OutputConstructor] + private GetSfsResourcePoolResult( + string availabilityZone, + + string id, + + ImmutableArray ipAcls, + + string name, + + string performanceClass, + + string performanceClassDowngradableAt, + + string projectId, + + string? region, + + string resourcePoolId, + + int sizeGigabytes, + + string sizeReducibleAt, + + bool snapshotsAreVisible) + { + AvailabilityZone = availabilityZone; + Id = id; + IpAcls = ipAcls; + Name = name; + PerformanceClass = performanceClass; + PerformanceClassDowngradableAt = performanceClassDowngradableAt; + ProjectId = projectId; + Region = region; + ResourcePoolId = resourcePoolId; + SizeGigabytes = sizeGigabytes; + SizeReducibleAt = sizeReducibleAt; + SnapshotsAreVisible = snapshotsAreVisible; + } + } +} diff --git a/sdk/dotnet/GetSfsResourcePoolSnapshot.cs b/sdk/dotnet/GetSfsResourcePoolSnapshot.cs new file mode 100644 index 0000000..ff82c9c --- /dev/null +++ b/sdk/dotnet/GetSfsResourcePoolSnapshot.cs @@ -0,0 +1,160 @@ +// *** 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 GetSfsResourcePoolSnapshot + { + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool_snapshot" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Task InvokeAsync(GetSfsResourcePoolSnapshotArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", args ?? new GetSfsResourcePoolSnapshotArgs(), options.WithDefaults()); + + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool_snapshot" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsResourcePoolSnapshotInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", args ?? new GetSfsResourcePoolSnapshotInvokeArgs(), options.WithDefaults()); + + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_resource_pool_snapshot" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsResourcePoolSnapshotInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", args ?? new GetSfsResourcePoolSnapshotInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSfsResourcePoolSnapshotArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the resource pool snapshot is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// Resource pool ID + /// + [Input("resourcePoolId", required: true)] + public string ResourcePoolId { get; set; } = null!; + + public GetSfsResourcePoolSnapshotArgs() + { + } + public static new GetSfsResourcePoolSnapshotArgs Empty => new GetSfsResourcePoolSnapshotArgs(); + } + + public sealed class GetSfsResourcePoolSnapshotInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the resource pool snapshot is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Resource pool ID + /// + [Input("resourcePoolId", required: true)] + public Input ResourcePoolId { get; set; } = null!; + + public GetSfsResourcePoolSnapshotInvokeArgs() + { + } + public static new GetSfsResourcePoolSnapshotInvokeArgs Empty => new GetSfsResourcePoolSnapshotInvokeArgs(); + } + + + [OutputType] + public sealed class GetSfsResourcePoolSnapshotResult + { + public readonly string Id; + /// + /// STACKIT project ID to which the resource pool snapshot is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + public readonly string? Region; + /// + /// Resource pool ID + /// + public readonly string ResourcePoolId; + /// + /// Resource-pool datasource schema. Must have a `Region` specified in the provider configuration. + /// + public readonly ImmutableArray Snapshots; + + [OutputConstructor] + private GetSfsResourcePoolSnapshotResult( + string id, + + string projectId, + + string? region, + + string resourcePoolId, + + ImmutableArray snapshots) + { + Id = id; + ProjectId = projectId; + Region = region; + ResourcePoolId = resourcePoolId; + Snapshots = snapshots; + } + } +} diff --git a/sdk/dotnet/GetSfsShare.cs b/sdk/dotnet/GetSfsShare.cs new file mode 100644 index 0000000..f310cce --- /dev/null +++ b/sdk/dotnet/GetSfsShare.cs @@ -0,0 +1,208 @@ +// *** 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 GetSfsShare + { + /// + /// SFS Share schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_share" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// share_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Task InvokeAsync(GetSfsShareArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getSfsShare:getSfsShare", args ?? new GetSfsShareArgs(), options.WithDefaults()); + + /// + /// SFS Share schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_share" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// share_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsShareInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsShare:getSfsShare", args ?? new GetSfsShareInvokeArgs(), options.WithDefaults()); + + /// + /// SFS Share schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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_sfs_share" "example" { + /// project_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// resource_pool_id = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" + /// share_id = "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY" + /// } + /// ``` + /// + public static Output Invoke(GetSfsShareInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getSfsShare:getSfsShare", args ?? new GetSfsShareInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetSfsShareArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the share is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The ID of the resource pool for the SFS share. + /// + [Input("resourcePoolId", required: true)] + public string ResourcePoolId { get; set; } = null!; + + /// + /// share ID + /// + [Input("shareId", required: true)] + public string ShareId { get; set; } = null!; + + public GetSfsShareArgs() + { + } + public static new GetSfsShareArgs Empty => new GetSfsShareArgs(); + } + + public sealed class GetSfsShareInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT project ID to which the share is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The ID of the resource pool for the SFS share. + /// + [Input("resourcePoolId", required: true)] + public Input ResourcePoolId { get; set; } = null!; + + /// + /// share ID + /// + [Input("shareId", required: true)] + public Input ShareId { get; set; } = null!; + + public GetSfsShareInvokeArgs() + { + } + public static new GetSfsShareInvokeArgs Empty => new GetSfsShareInvokeArgs(); + } + + + [OutputType] + public sealed class GetSfsShareResult + { + /// + /// Name of the Share Export Policy to use in the Share. + /// Note that if this is not set, the Share can only be mounted in read only by + /// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + /// You can also assign a Share Export Policy after creating the Share + /// + public readonly string ExportPolicy; + public readonly string Id; + /// + /// Mount path of the Share, used to mount the Share + /// + public readonly string MountPath; + /// + /// Name of the Share + /// + public readonly string Name; + /// + /// STACKIT project ID to which the share is associated. + /// + public readonly string ProjectId; + /// + /// The resource region. Read-only attribute that reflects the provider region. + /// + public readonly string? Region; + /// + /// The ID of the resource pool for the SFS share. + /// + public readonly string ResourcePoolId; + /// + /// share ID + /// + public readonly string ShareId; + /// + /// Space hard limit for the Share. + /// If zero, the Share will have access to the full space of the Resource Pool it lives in. + /// (unit: gigabytes) + /// + public readonly int SpaceHardLimitGigabytes; + + [OutputConstructor] + private GetSfsShareResult( + string exportPolicy, + + string id, + + string mountPath, + + string name, + + string projectId, + + string? region, + + string resourcePoolId, + + string shareId, + + int spaceHardLimitGigabytes) + { + ExportPolicy = exportPolicy; + Id = id; + MountPath = mountPath; + Name = name; + ProjectId = projectId; + Region = region; + ResourcePoolId = resourcePoolId; + ShareId = shareId; + SpaceHardLimitGigabytes = spaceHardLimitGigabytes; + } + } +} diff --git a/sdk/dotnet/GetSkeCluster.cs b/sdk/dotnet/GetSkeCluster.cs index ddb825b..0e95800 100644 --- a/sdk/dotnet/GetSkeCluster.cs +++ b/sdk/dotnet/GetSkeCluster.cs @@ -128,7 +128,7 @@ public sealed class GetSkeClusterResult public readonly ImmutableArray Hibernations; public readonly string Id; /// - /// The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `KubernetesVersionUsed` field. + /// The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the `KubernetesVersionUsed` field. /// public readonly string KubernetesVersionMin; /// diff --git a/sdk/dotnet/GetVolume.cs b/sdk/dotnet/GetVolume.cs index 76e75b2..87e077f 100644 --- a/sdk/dotnet/GetVolume.cs +++ b/sdk/dotnet/GetVolume.cs @@ -66,6 +66,12 @@ public sealed class GetVolumeArgs : global::Pulumi.InvokeArgs [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; } + /// /// The volume ID. /// @@ -86,6 +92,12 @@ public sealed class GetVolumeInvokeArgs : global::Pulumi.InvokeArgs [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; } + /// /// The volume ID. /// @@ -120,7 +132,7 @@ public sealed class GetVolumeResult /// public readonly string Name; /// - /// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + /// 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) /// public readonly string PerformanceClass; /// @@ -128,6 +140,10 @@ public sealed class GetVolumeResult /// public readonly string ProjectId; /// + /// The resource region. If not defined, the provider region is used. + /// + public readonly string? Region; + /// /// The server ID of the server to which the volume is attached to. /// public readonly string ServerId; @@ -160,6 +176,8 @@ private GetVolumeResult( string projectId, + string? region, + string serverId, int size, @@ -175,6 +193,7 @@ private GetVolumeResult( Name = name; PerformanceClass = performanceClass; ProjectId = projectId; + Region = region; ServerId = serverId; Size = size; Source = source; diff --git a/sdk/dotnet/Image.cs b/sdk/dotnet/Image.cs index a2c0fb6..b97d450 100644 --- a/sdk/dotnet/Image.cs +++ b/sdk/dotnet/Image.cs @@ -83,6 +83,12 @@ public partial class Image : global::Pulumi.CustomResource [Output("protected")] public Output Protected { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The scope of the image. /// @@ -190,6 +196,12 @@ public InputMap Labels [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 ImageArgs() { } @@ -270,6 +282,12 @@ public InputMap Labels [Input("protected")] public Input? Protected { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The scope of the image. /// diff --git a/sdk/dotnet/Inputs/NetworkAreaRegionIpv4Args.cs b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4Args.cs new file mode 100644 index 0000000..a15f931 --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4Args.cs @@ -0,0 +1,68 @@ +// *** 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 NetworkAreaRegionIpv4Args : global::Pulumi.ResourceArgs + { + [Input("defaultNameservers")] + private InputList? _defaultNameservers; + + /// + /// List of DNS Servers/Nameservers. + /// + public InputList DefaultNameservers + { + get => _defaultNameservers ?? (_defaultNameservers = new InputList()); + set => _defaultNameservers = value; + } + + /// + /// The default prefix length for networks in the network area. + /// + [Input("defaultPrefixLength")] + public Input? DefaultPrefixLength { get; set; } + + /// + /// The maximal prefix length for networks in the network area. + /// + [Input("maxPrefixLength")] + public Input? MaxPrefixLength { get; set; } + + /// + /// The minimal prefix length for networks in the network area. + /// + [Input("minPrefixLength")] + public Input? MinPrefixLength { get; set; } + + [Input("networkRanges", required: true)] + private InputList? _networkRanges; + + /// + /// List of Network ranges. + /// + public InputList NetworkRanges + { + get => _networkRanges ?? (_networkRanges = new InputList()); + set => _networkRanges = value; + } + + /// + /// IPv4 Classless Inter-Domain Routing (CIDR). + /// + [Input("transferNetwork", required: true)] + public Input TransferNetwork { get; set; } = null!; + + public NetworkAreaRegionIpv4Args() + { + } + public static new NetworkAreaRegionIpv4Args Empty => new NetworkAreaRegionIpv4Args(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRegionIpv4GetArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4GetArgs.cs new file mode 100644 index 0000000..75decec --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4GetArgs.cs @@ -0,0 +1,68 @@ +// *** 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 NetworkAreaRegionIpv4GetArgs : global::Pulumi.ResourceArgs + { + [Input("defaultNameservers")] + private InputList? _defaultNameservers; + + /// + /// List of DNS Servers/Nameservers. + /// + public InputList DefaultNameservers + { + get => _defaultNameservers ?? (_defaultNameservers = new InputList()); + set => _defaultNameservers = value; + } + + /// + /// The default prefix length for networks in the network area. + /// + [Input("defaultPrefixLength")] + public Input? DefaultPrefixLength { get; set; } + + /// + /// The maximal prefix length for networks in the network area. + /// + [Input("maxPrefixLength")] + public Input? MaxPrefixLength { get; set; } + + /// + /// The minimal prefix length for networks in the network area. + /// + [Input("minPrefixLength")] + public Input? MinPrefixLength { get; set; } + + [Input("networkRanges", required: true)] + private InputList? _networkRanges; + + /// + /// List of Network ranges. + /// + public InputList NetworkRanges + { + get => _networkRanges ?? (_networkRanges = new InputList()); + set => _networkRanges = value; + } + + /// + /// IPv4 Classless Inter-Domain Routing (CIDR). + /// + [Input("transferNetwork", required: true)] + public Input TransferNetwork { get; set; } = null!; + + public NetworkAreaRegionIpv4GetArgs() + { + } + public static new NetworkAreaRegionIpv4GetArgs Empty => new NetworkAreaRegionIpv4GetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeArgs.cs new file mode 100644 index 0000000..9c6503e --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeArgs.cs @@ -0,0 +1,29 @@ +// *** 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 NetworkAreaRegionIpv4NetworkRangeArgs : global::Pulumi.ResourceArgs + { + [Input("networkRangeId")] + public Input? NetworkRangeId { get; set; } + + /// + /// Classless Inter-Domain Routing (CIDR). + /// + [Input("prefix", required: true)] + public Input Prefix { get; set; } = null!; + + public NetworkAreaRegionIpv4NetworkRangeArgs() + { + } + public static new NetworkAreaRegionIpv4NetworkRangeArgs Empty => new NetworkAreaRegionIpv4NetworkRangeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeGetArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeGetArgs.cs new file mode 100644 index 0000000..b56cb16 --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRegionIpv4NetworkRangeGetArgs.cs @@ -0,0 +1,29 @@ +// *** 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 NetworkAreaRegionIpv4NetworkRangeGetArgs : global::Pulumi.ResourceArgs + { + [Input("networkRangeId")] + public Input? NetworkRangeId { get; set; } + + /// + /// Classless Inter-Domain Routing (CIDR). + /// + [Input("prefix", required: true)] + public Input Prefix { get; set; } = null!; + + public NetworkAreaRegionIpv4NetworkRangeGetArgs() + { + } + public static new NetworkAreaRegionIpv4NetworkRangeGetArgs Empty => new NetworkAreaRegionIpv4NetworkRangeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRouteDestinationArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRouteDestinationArgs.cs new file mode 100644 index 0000000..1c0bafb --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRouteDestinationArgs.cs @@ -0,0 +1,32 @@ +// *** 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 NetworkAreaRouteDestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// CIDRV type. Possible values are: `Cidrv4`, `Cidrv6`. Only `Cidrv4` is supported currently. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// An CIDR string. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NetworkAreaRouteDestinationArgs() + { + } + public static new NetworkAreaRouteDestinationArgs Empty => new NetworkAreaRouteDestinationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRouteDestinationGetArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRouteDestinationGetArgs.cs new file mode 100644 index 0000000..53d8da5 --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRouteDestinationGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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 NetworkAreaRouteDestinationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// CIDRV type. Possible values are: `Cidrv4`, `Cidrv6`. Only `Cidrv4` is supported currently. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// An CIDR string. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public NetworkAreaRouteDestinationGetArgs() + { + } + public static new NetworkAreaRouteDestinationGetArgs Empty => new NetworkAreaRouteDestinationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRouteNextHopArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRouteNextHopArgs.cs new file mode 100644 index 0000000..beb17e2 --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRouteNextHopArgs.cs @@ -0,0 +1,32 @@ +// *** 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 NetworkAreaRouteNextHopArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of the next hop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Only `Ipv4` supported currently. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + /// + [Input("value")] + public Input? Value { get; set; } + + public NetworkAreaRouteNextHopArgs() + { + } + public static new NetworkAreaRouteNextHopArgs Empty => new NetworkAreaRouteNextHopArgs(); + } +} diff --git a/sdk/dotnet/Inputs/NetworkAreaRouteNextHopGetArgs.cs b/sdk/dotnet/Inputs/NetworkAreaRouteNextHopGetArgs.cs new file mode 100644 index 0000000..a0af6dd --- /dev/null +++ b/sdk/dotnet/Inputs/NetworkAreaRouteNextHopGetArgs.cs @@ -0,0 +1,32 @@ +// *** 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 NetworkAreaRouteNextHopGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Type of the next hop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Only `Ipv4` supported currently. + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + /// + /// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + /// + [Input("value")] + public Input? Value { get; set; } + + public NetworkAreaRouteNextHopGetArgs() + { + } + public static new NetworkAreaRouteNextHopGetArgs Empty => new NetworkAreaRouteNextHopGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SfsExportPolicyRuleArgs.cs b/sdk/dotnet/Inputs/SfsExportPolicyRuleArgs.cs new file mode 100644 index 0000000..240ab08 --- /dev/null +++ b/sdk/dotnet/Inputs/SfsExportPolicyRuleArgs.cs @@ -0,0 +1,62 @@ +// *** 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 SfsExportPolicyRuleArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the Rule + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("ipAcls", required: true)] + private InputList? _ipAcls; + + /// + /// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public InputList IpAcls + { + get => _ipAcls ?? (_ipAcls = new InputList()); + set => _ipAcls = value; + } + + /// + /// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + /// + [Input("order", required: true)] + public Input Order { get; set; } = null!; + + /// + /// Flag to indicate if client IPs matching this rule can only mount the share in read only mode + /// + [Input("readOnly")] + public Input? ReadOnly { get; set; } + + /// + /// Flag to honor set UUID + /// + [Input("setUuid")] + public Input? SetUuid { get; set; } + + /// + /// Flag to indicate if client IPs matching this rule have root access on the Share + /// + [Input("superUser")] + public Input? SuperUser { get; set; } + + public SfsExportPolicyRuleArgs() + { + } + public static new SfsExportPolicyRuleArgs Empty => new SfsExportPolicyRuleArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SfsExportPolicyRuleGetArgs.cs b/sdk/dotnet/Inputs/SfsExportPolicyRuleGetArgs.cs new file mode 100644 index 0000000..31a6f5d --- /dev/null +++ b/sdk/dotnet/Inputs/SfsExportPolicyRuleGetArgs.cs @@ -0,0 +1,62 @@ +// *** 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 SfsExportPolicyRuleGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Description of the Rule + /// + [Input("description")] + public Input? Description { get; set; } + + [Input("ipAcls", required: true)] + private InputList? _ipAcls; + + /// + /// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public InputList IpAcls + { + get => _ipAcls ?? (_ipAcls = new InputList()); + set => _ipAcls = value; + } + + /// + /// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + /// + [Input("order", required: true)] + public Input Order { get; set; } = null!; + + /// + /// Flag to indicate if client IPs matching this rule can only mount the share in read only mode + /// + [Input("readOnly")] + public Input? ReadOnly { get; set; } + + /// + /// Flag to honor set UUID + /// + [Input("setUuid")] + public Input? SetUuid { get; set; } + + /// + /// Flag to indicate if client IPs matching this rule have root access on the Share + /// + [Input("superUser")] + public Input? SuperUser { get; set; } + + public SfsExportPolicyRuleGetArgs() + { + } + public static new SfsExportPolicyRuleGetArgs Empty => new SfsExportPolicyRuleGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs b/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs index 899b457..b73d561 100644 --- a/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterMaintenanceArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterMaintenanceArgs : global::Pulumi.ResourceArgs { /// - /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("enableKubernetesVersionUpdates")] public Input? EnableKubernetesVersionUpdates { get; set; } /// - /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("enableMachineImageVersionUpdates")] public Input? EnableMachineImageVersionUpdates { get; set; } diff --git a/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs index d049303..b803ab9 100644 --- a/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterMaintenanceGetArgs.cs @@ -13,13 +13,13 @@ namespace Pulumi.Stackit.Inputs public sealed class SkeClusterMaintenanceGetArgs : global::Pulumi.ResourceArgs { /// - /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("enableKubernetesVersionUpdates")] public Input? EnableKubernetesVersionUpdates { get; set; } /// - /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("enableMachineImageVersionUpdates")] public Input? EnableMachineImageVersionUpdates { get; set; } diff --git a/sdk/dotnet/Inputs/SkeClusterNodePoolArgs.cs b/sdk/dotnet/Inputs/SkeClusterNodePoolArgs.cs index 1ce77a3..85ff4ff 100644 --- a/sdk/dotnet/Inputs/SkeClusterNodePoolArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNodePoolArgs.cs @@ -97,13 +97,13 @@ public InputMap Labels public Input? OsVersion { get; set; } /// - /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. + /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. /// [Input("osVersionMin")] public Input? OsVersionMin { get; set; } /// - /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("osVersionUsed")] public Input? OsVersionUsed { get; set; } diff --git a/sdk/dotnet/Inputs/SkeClusterNodePoolGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterNodePoolGetArgs.cs index 7d39ff7..ec077b0 100644 --- a/sdk/dotnet/Inputs/SkeClusterNodePoolGetArgs.cs +++ b/sdk/dotnet/Inputs/SkeClusterNodePoolGetArgs.cs @@ -97,13 +97,13 @@ public InputMap Labels public Input? OsVersion { get; set; } /// - /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. + /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. /// [Input("osVersionMin")] public Input? OsVersionMin { get; set; } /// - /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("osVersionUsed")] public Input? OsVersionUsed { get; set; } diff --git a/sdk/dotnet/Network.cs b/sdk/dotnet/Network.cs index dc5a145..3cbe839 100644 --- a/sdk/dotnet/Network.cs +++ b/sdk/dotnet/Network.cs @@ -135,7 +135,6 @@ public partial class Network : global::Pulumi.CustomResource public Output PublicIp { get; private set; } = null!; /// - /// Can only be used when experimental "network" is set. /// The resource region. If not defined, the provider region is used. /// [Output("region")] @@ -148,7 +147,6 @@ public partial class Network : global::Pulumi.CustomResource public Output Routed { get; private set; } = null!; /// - /// Can only be used when experimental "network" is set. /// The ID of the routing table associated with the network. /// [Output("routingTableId")] @@ -311,7 +309,6 @@ public InputList Nameservers public Input ProjectId { get; set; } = null!; /// - /// Can only be used when experimental "network" is set. /// The resource region. If not defined, the provider region is used. /// [Input("region")] @@ -324,7 +321,6 @@ public InputList Nameservers public Input? Routed { get; set; } /// - /// Can only be used when experimental "network" is set. /// The ID of the routing table associated with the network. /// [Input("routingTableId")] @@ -497,7 +493,6 @@ public InputList Prefixes public Input? PublicIp { get; set; } /// - /// Can only be used when experimental "network" is set. /// The resource region. If not defined, the provider region is used. /// [Input("region")] @@ -510,7 +505,6 @@ public InputList Prefixes public Input? Routed { get; set; } /// - /// Can only be used when experimental "network" is set. /// The ID of the routing table associated with the network. /// [Input("routingTableId")] diff --git a/sdk/dotnet/NetworkArea.cs b/sdk/dotnet/NetworkArea.cs index 8f0120c..2550ee3 100644 --- a/sdk/dotnet/NetworkArea.cs +++ b/sdk/dotnet/NetworkArea.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Network area resource schema. Must have a `Region` specified in the provider configuration. + /// Network area resource schema. /// /// ## Example Usage /// @@ -18,13 +18,13 @@ namespace Pulumi.Stackit public partial class NetworkArea : global::Pulumi.CustomResource { /// - /// List of DNS Servers/Nameservers. + /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. /// [Output("defaultNameservers")] public Output> DefaultNameservers { get; private set; } = null!; /// - /// The default prefix length for networks in the network area. + /// The default prefix length for networks in the network area for region `Eu01`. /// [Output("defaultPrefixLength")] public Output DefaultPrefixLength { get; private set; } = null!; @@ -36,13 +36,13 @@ public partial class NetworkArea : global::Pulumi.CustomResource public Output?> Labels { get; private set; } = null!; /// - /// The maximal prefix length for networks in the network area. + /// The maximal prefix length for networks in the network area for region `Eu01`. /// [Output("maxPrefixLength")] public Output MaxPrefixLength { get; private set; } = null!; /// - /// The minimal prefix length for networks in the network area. + /// The minimal prefix length for networks in the network area for region `Eu01`. /// [Output("minPrefixLength")] public Output MinPrefixLength { get; private set; } = null!; @@ -60,7 +60,7 @@ public partial class NetworkArea : global::Pulumi.CustomResource public Output NetworkAreaId { get; private set; } = null!; /// - /// List of Network ranges. + /// List of Network ranges for configuration of network area for region `Eu01`. /// [Output("networkRanges")] public Output> NetworkRanges { get; private set; } = null!; @@ -78,10 +78,10 @@ public partial class NetworkArea : global::Pulumi.CustomResource public Output ProjectCount { get; private set; } = null!; /// - /// Classless Inter-Domain Routing (CIDR). + /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. /// [Output("transferNetwork")] - public Output TransferNetwork { get; private set; } = null!; + public Output TransferNetwork { get; private set; } = null!; /// @@ -134,8 +134,9 @@ public sealed class NetworkAreaArgs : global::Pulumi.ResourceArgs private InputList? _defaultNameservers; /// - /// List of DNS Servers/Nameservers. + /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. /// + [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] public InputList DefaultNameservers { get => _defaultNameservers ?? (_defaultNameservers = new InputList()); @@ -143,7 +144,7 @@ public InputList DefaultNameservers } /// - /// The default prefix length for networks in the network area. + /// The default prefix length for networks in the network area for region `Eu01`. /// [Input("defaultPrefixLength")] public Input? DefaultPrefixLength { get; set; } @@ -161,13 +162,13 @@ public InputMap Labels } /// - /// The maximal prefix length for networks in the network area. + /// The maximal prefix length for networks in the network area for region `Eu01`. /// [Input("maxPrefixLength")] public Input? MaxPrefixLength { get; set; } /// - /// The minimal prefix length for networks in the network area. + /// The minimal prefix length for networks in the network area for region `Eu01`. /// [Input("minPrefixLength")] public Input? MinPrefixLength { get; set; } @@ -178,12 +179,13 @@ public InputMap Labels [Input("name")] public Input? Name { get; set; } - [Input("networkRanges", required: true)] + [Input("networkRanges")] private InputList? _networkRanges; /// - /// List of Network ranges. + /// List of Network ranges for configuration of network area for region `Eu01`. /// + [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] public InputList NetworkRanges { get => _networkRanges ?? (_networkRanges = new InputList()); @@ -197,10 +199,10 @@ public InputList NetworkRanges public Input OrganizationId { get; set; } = null!; /// - /// Classless Inter-Domain Routing (CIDR). + /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. /// - [Input("transferNetwork", required: true)] - public Input TransferNetwork { get; set; } = null!; + [Input("transferNetwork")] + public Input? TransferNetwork { get; set; } public NetworkAreaArgs() { @@ -214,8 +216,9 @@ public sealed class NetworkAreaState : global::Pulumi.ResourceArgs private InputList? _defaultNameservers; /// - /// List of DNS Servers/Nameservers. + /// List of DNS Servers/Nameservers for configuration of network area for region `Eu01`. /// + [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] public InputList DefaultNameservers { get => _defaultNameservers ?? (_defaultNameservers = new InputList()); @@ -223,7 +226,7 @@ public InputList DefaultNameservers } /// - /// The default prefix length for networks in the network area. + /// The default prefix length for networks in the network area for region `Eu01`. /// [Input("defaultPrefixLength")] public Input? DefaultPrefixLength { get; set; } @@ -241,13 +244,13 @@ public InputMap Labels } /// - /// The maximal prefix length for networks in the network area. + /// The maximal prefix length for networks in the network area for region `Eu01`. /// [Input("maxPrefixLength")] public Input? MaxPrefixLength { get; set; } /// - /// The minimal prefix length for networks in the network area. + /// The minimal prefix length for networks in the network area for region `Eu01`. /// [Input("minPrefixLength")] public Input? MinPrefixLength { get; set; } @@ -268,8 +271,9 @@ public InputMap Labels private InputList? _networkRanges; /// - /// List of Network ranges. + /// List of Network ranges for configuration of network area for region `Eu01`. /// + [Obsolete(@"Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead.")] public InputList NetworkRanges { get => _networkRanges ?? (_networkRanges = new InputList()); @@ -289,7 +293,7 @@ public InputList NetworkRanges public Input? ProjectCount { get; set; } /// - /// Classless Inter-Domain Routing (CIDR). + /// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `Eu01`. /// [Input("transferNetwork")] public Input? TransferNetwork { get; set; } diff --git a/sdk/dotnet/NetworkAreaRegion.cs b/sdk/dotnet/NetworkAreaRegion.cs new file mode 100644 index 0000000..a25bb99 --- /dev/null +++ b/sdk/dotnet/NetworkAreaRegion.cs @@ -0,0 +1,152 @@ +// *** 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 +{ + /// + /// Network area region resource schema. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/networkAreaRegion:NetworkAreaRegion")] + public partial class NetworkAreaRegion : global::Pulumi.CustomResource + { + /// + /// The regional IPv4 config of a network area. + /// + [Output("ipv4")] + public Output Ipv4 { get; private set; } = null!; + + /// + /// The network area ID. + /// + [Output("networkAreaId")] + public Output NetworkAreaId { get; private set; } = null!; + + /// + /// STACKIT organization ID to which the network area is associated. + /// + [Output("organizationId")] + public Output OrganizationId { 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 NetworkAreaRegion 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 NetworkAreaRegion(string name, NetworkAreaRegionArgs args, CustomResourceOptions? options = null) + : base("stackit:index/networkAreaRegion:NetworkAreaRegion", name, args ?? new NetworkAreaRegionArgs(), MakeResourceOptions(options, "")) + { + } + + private NetworkAreaRegion(string name, Input id, NetworkAreaRegionState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/networkAreaRegion:NetworkAreaRegion", 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 NetworkAreaRegion 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 NetworkAreaRegion Get(string name, Input id, NetworkAreaRegionState? state = null, CustomResourceOptions? options = null) + { + return new NetworkAreaRegion(name, id, state, options); + } + } + + public sealed class NetworkAreaRegionArgs : global::Pulumi.ResourceArgs + { + /// + /// The regional IPv4 config of a network area. + /// + [Input("ipv4", required: true)] + public Input Ipv4 { get; set; } = null!; + + /// + /// The network area ID. + /// + [Input("networkAreaId", required: true)] + public Input NetworkAreaId { get; set; } = null!; + + /// + /// STACKIT organization ID to which the network area is associated. + /// + [Input("organizationId", required: true)] + public Input OrganizationId { get; set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public NetworkAreaRegionArgs() + { + } + public static new NetworkAreaRegionArgs Empty => new NetworkAreaRegionArgs(); + } + + public sealed class NetworkAreaRegionState : global::Pulumi.ResourceArgs + { + /// + /// The regional IPv4 config of a network area. + /// + [Input("ipv4")] + public Input? Ipv4 { get; set; } + + /// + /// The network area ID. + /// + [Input("networkAreaId")] + public Input? NetworkAreaId { get; set; } + + /// + /// STACKIT organization ID to which the network area is associated. + /// + [Input("organizationId")] + public Input? OrganizationId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public NetworkAreaRegionState() + { + } + public static new NetworkAreaRegionState Empty => new NetworkAreaRegionState(); + } +} diff --git a/sdk/dotnet/NetworkAreaRoute.cs b/sdk/dotnet/NetworkAreaRoute.cs index df430da..556c21b 100644 --- a/sdk/dotnet/NetworkAreaRoute.cs +++ b/sdk/dotnet/NetworkAreaRoute.cs @@ -9,14 +9,15 @@ namespace Pulumi.Stackit { - /// - /// Network area route resource schema. Must have a `Region` specified in the provider configuration. - /// - /// ## Example Usage - /// [StackitResourceType("stackit:index/networkAreaRoute:NetworkAreaRoute")] public partial class NetworkAreaRoute : global::Pulumi.CustomResource { + /// + /// Destination of the route. + /// + [Output("destination")] + public Output Destination { get; private set; } = null!; + /// /// Labels are key-value string pairs which can be attached to a resource container /// @@ -36,10 +37,10 @@ public partial class NetworkAreaRoute : global::Pulumi.CustomResource public Output NetworkAreaRouteId { get; private set; } = null!; /// - /// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + /// Next hop destination. /// [Output("nextHop")] - public Output NextHop { get; private set; } = null!; + public Output NextHop { get; private set; } = null!; /// /// STACKIT organization ID to which the network area is associated. @@ -48,10 +49,10 @@ public partial class NetworkAreaRoute : global::Pulumi.CustomResource public Output OrganizationId { get; private set; } = null!; /// - /// The network, that is reachable though the Next Hop. Should use CIDR notation. + /// The resource region. If not defined, the provider region is used. /// - [Output("prefix")] - public Output Prefix { get; private set; } = null!; + [Output("region")] + public Output Region { get; private set; } = null!; /// @@ -100,6 +101,12 @@ public static NetworkAreaRoute Get(string name, Input id, NetworkAreaRou public sealed class NetworkAreaRouteArgs : global::Pulumi.ResourceArgs { + /// + /// Destination of the route. + /// + [Input("destination", required: true)] + public Input Destination { get; set; } = null!; + [Input("labels")] private InputMap? _labels; @@ -119,10 +126,10 @@ public InputMap Labels public Input NetworkAreaId { get; set; } = null!; /// - /// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + /// Next hop destination. /// [Input("nextHop", required: true)] - public Input NextHop { get; set; } = null!; + public Input NextHop { get; set; } = null!; /// /// STACKIT organization ID to which the network area is associated. @@ -131,10 +138,10 @@ public InputMap Labels public Input OrganizationId { get; set; } = null!; /// - /// The network, that is reachable though the Next Hop. Should use CIDR notation. + /// The resource region. If not defined, the provider region is used. /// - [Input("prefix", required: true)] - public Input Prefix { get; set; } = null!; + [Input("region")] + public Input? Region { get; set; } public NetworkAreaRouteArgs() { @@ -144,6 +151,12 @@ public NetworkAreaRouteArgs() public sealed class NetworkAreaRouteState : global::Pulumi.ResourceArgs { + /// + /// Destination of the route. + /// + [Input("destination")] + public Input? Destination { get; set; } + [Input("labels")] private InputMap? _labels; @@ -169,10 +182,10 @@ public InputMap Labels public Input? NetworkAreaRouteId { get; set; } /// - /// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + /// Next hop destination. /// [Input("nextHop")] - public Input? NextHop { get; set; } + public Input? NextHop { get; set; } /// /// STACKIT organization ID to which the network area is associated. @@ -181,10 +194,10 @@ public InputMap Labels public Input? OrganizationId { get; set; } /// - /// The network, that is reachable though the Next Hop. Should use CIDR notation. + /// The resource region. If not defined, the provider region is used. /// - [Input("prefix")] - public Input? Prefix { get; set; } + [Input("region")] + public Input? Region { get; set; } public NetworkAreaRouteState() { diff --git a/sdk/dotnet/NetworkInterface.cs b/sdk/dotnet/NetworkInterface.cs index aa264bc..130e059 100644 --- a/sdk/dotnet/NetworkInterface.cs +++ b/sdk/dotnet/NetworkInterface.cs @@ -71,6 +71,12 @@ public partial class NetworkInterface : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The Network Interface Security. If set to false, then no security groups will apply to this network interface. /// @@ -184,6 +190,12 @@ public InputMap Labels [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; } + /// /// The Network Interface Security. If set to false, then no security groups will apply to this network interface. /// @@ -276,6 +288,12 @@ public InputMap Labels [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The Network Interface Security. If set to false, then no security groups will apply to this network interface. /// diff --git a/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4NetworkRangeResult.cs b/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4NetworkRangeResult.cs new file mode 100644 index 0000000..1d89dd2 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4NetworkRangeResult.cs @@ -0,0 +1,32 @@ +// *** 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 GetNetworkAreaRegionIpv4NetworkRangeResult + { + public readonly string NetworkRangeId; + /// + /// Classless Inter-Domain Routing (CIDR). + /// + public readonly string Prefix; + + [OutputConstructor] + private GetNetworkAreaRegionIpv4NetworkRangeResult( + string networkRangeId, + + string prefix) + { + NetworkRangeId = networkRangeId; + Prefix = prefix; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4Result.cs b/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4Result.cs new file mode 100644 index 0000000..91302ba --- /dev/null +++ b/sdk/dotnet/Outputs/GetNetworkAreaRegionIpv4Result.cs @@ -0,0 +1,63 @@ +// *** 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 GetNetworkAreaRegionIpv4Result + { + /// + /// List of DNS Servers/Nameservers. + /// + public readonly ImmutableArray DefaultNameservers; + /// + /// The default prefix length for networks in the network area. + /// + public readonly int DefaultPrefixLength; + /// + /// The maximal prefix length for networks in the network area. + /// + public readonly int MaxPrefixLength; + /// + /// The minimal prefix length for networks in the network area. + /// + public readonly int MinPrefixLength; + /// + /// List of Network ranges. + /// + public readonly ImmutableArray NetworkRanges; + /// + /// IPv4 Classless Inter-Domain Routing (CIDR). + /// + public readonly string TransferNetwork; + + [OutputConstructor] + private GetNetworkAreaRegionIpv4Result( + ImmutableArray defaultNameservers, + + int defaultPrefixLength, + + int maxPrefixLength, + + int minPrefixLength, + + ImmutableArray networkRanges, + + string transferNetwork) + { + DefaultNameservers = defaultNameservers; + DefaultPrefixLength = defaultPrefixLength; + MaxPrefixLength = maxPrefixLength; + MinPrefixLength = minPrefixLength; + NetworkRanges = networkRanges; + TransferNetwork = transferNetwork; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNetworkAreaRouteDestinationResult.cs b/sdk/dotnet/Outputs/GetNetworkAreaRouteDestinationResult.cs new file mode 100644 index 0000000..e37c30d --- /dev/null +++ b/sdk/dotnet/Outputs/GetNetworkAreaRouteDestinationResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetNetworkAreaRouteDestinationResult + { + /// + /// CIDRV type. Possible values are: `Cidrv4`, `Cidrv6`. + /// + public readonly string Type; + /// + /// An CIDR string. + /// + public readonly string Value; + + [OutputConstructor] + private GetNetworkAreaRouteDestinationResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetNetworkAreaRouteNextHopResult.cs b/sdk/dotnet/Outputs/GetNetworkAreaRouteNextHopResult.cs new file mode 100644 index 0000000..eb3e7b6 --- /dev/null +++ b/sdk/dotnet/Outputs/GetNetworkAreaRouteNextHopResult.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class GetNetworkAreaRouteNextHopResult + { + /// + /// Type of the next hop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. + /// + public readonly string Type; + /// + /// Either IPv4 or IPv6 (not set for blackhole and internet). + /// + public readonly string Value; + + [OutputConstructor] + private GetNetworkAreaRouteNextHopResult( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSfsExportPolicyRuleResult.cs b/sdk/dotnet/Outputs/GetSfsExportPolicyRuleResult.cs new file mode 100644 index 0000000..dbcc0ae --- /dev/null +++ b/sdk/dotnet/Outputs/GetSfsExportPolicyRuleResult.cs @@ -0,0 +1,63 @@ +// *** 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 GetSfsExportPolicyRuleResult + { + /// + /// Description of the Rule + /// + public readonly string? Description; + /// + /// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public readonly ImmutableArray IpAcls; + /// + /// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + /// + public readonly int Order; + /// + /// Flag to indicate if client IPs matching this rule can only mount the share in read only mode + /// + public readonly bool ReadOnly; + /// + /// Flag to honor set UUID + /// + public readonly bool SetUuid; + /// + /// Flag to indicate if client IPs matching this rule have root access on the Share + /// + public readonly bool SuperUser; + + [OutputConstructor] + private GetSfsExportPolicyRuleResult( + string? description, + + ImmutableArray ipAcls, + + int order, + + bool readOnly, + + bool setUuid, + + bool superUser) + { + Description = description; + IpAcls = ipAcls; + Order = order; + ReadOnly = readOnly; + SetUuid = setUuid; + SuperUser = superUser; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSfsResourcePoolSnapshotSnapshotResult.cs b/sdk/dotnet/Outputs/GetSfsResourcePoolSnapshotSnapshotResult.cs new file mode 100644 index 0000000..e944117 --- /dev/null +++ b/sdk/dotnet/Outputs/GetSfsResourcePoolSnapshotSnapshotResult.cs @@ -0,0 +1,63 @@ +// *** 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 GetSfsResourcePoolSnapshotSnapshotResult + { + /// + /// (optional) A comment to add more information about a snapshot + /// + public readonly string Comment; + /// + /// creation date of the snapshot + /// + public readonly string CreatedAt; + /// + /// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + /// + public readonly int LogicalSizeGigabytes; + /// + /// ID of the Resource Pool of the Snapshot + /// + public readonly string ResourcePoolId; + /// + /// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + /// + public readonly int SizeGigabytes; + /// + /// Name of the Resource Pool Snapshot + /// + public readonly string SnapshotName; + + [OutputConstructor] + private GetSfsResourcePoolSnapshotSnapshotResult( + string comment, + + string createdAt, + + int logicalSizeGigabytes, + + string resourcePoolId, + + int sizeGigabytes, + + string snapshotName) + { + Comment = comment; + CreatedAt = createdAt; + LogicalSizeGigabytes = logicalSizeGigabytes; + ResourcePoolId = resourcePoolId; + SizeGigabytes = sizeGigabytes; + SnapshotName = snapshotName; + } + } +} diff --git a/sdk/dotnet/Outputs/GetSkeClusterNodePoolResult.cs b/sdk/dotnet/Outputs/GetSkeClusterNodePoolResult.cs index 86f27b4..0b410e7 100644 --- a/sdk/dotnet/Outputs/GetSkeClusterNodePoolResult.cs +++ b/sdk/dotnet/Outputs/GetSkeClusterNodePoolResult.cs @@ -62,11 +62,11 @@ public sealed class GetSkeClusterNodePoolResult /// public readonly string OsVersion; /// - /// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. + /// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. /// public readonly string OsVersionMin; /// - /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// public readonly string OsVersionUsed; /// diff --git a/sdk/dotnet/Outputs/NetworkAreaRegionIpv4.cs b/sdk/dotnet/Outputs/NetworkAreaRegionIpv4.cs new file mode 100644 index 0000000..fbd3d33 --- /dev/null +++ b/sdk/dotnet/Outputs/NetworkAreaRegionIpv4.cs @@ -0,0 +1,63 @@ +// *** 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 NetworkAreaRegionIpv4 + { + /// + /// List of DNS Servers/Nameservers. + /// + public readonly ImmutableArray DefaultNameservers; + /// + /// The default prefix length for networks in the network area. + /// + public readonly int? DefaultPrefixLength; + /// + /// The maximal prefix length for networks in the network area. + /// + public readonly int? MaxPrefixLength; + /// + /// The minimal prefix length for networks in the network area. + /// + public readonly int? MinPrefixLength; + /// + /// List of Network ranges. + /// + public readonly ImmutableArray NetworkRanges; + /// + /// IPv4 Classless Inter-Domain Routing (CIDR). + /// + public readonly string TransferNetwork; + + [OutputConstructor] + private NetworkAreaRegionIpv4( + ImmutableArray defaultNameservers, + + int? defaultPrefixLength, + + int? maxPrefixLength, + + int? minPrefixLength, + + ImmutableArray networkRanges, + + string transferNetwork) + { + DefaultNameservers = defaultNameservers; + DefaultPrefixLength = defaultPrefixLength; + MaxPrefixLength = maxPrefixLength; + MinPrefixLength = minPrefixLength; + NetworkRanges = networkRanges; + TransferNetwork = transferNetwork; + } + } +} diff --git a/sdk/dotnet/Outputs/NetworkAreaRegionIpv4NetworkRange.cs b/sdk/dotnet/Outputs/NetworkAreaRegionIpv4NetworkRange.cs new file mode 100644 index 0000000..bd9be42 --- /dev/null +++ b/sdk/dotnet/Outputs/NetworkAreaRegionIpv4NetworkRange.cs @@ -0,0 +1,32 @@ +// *** 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 NetworkAreaRegionIpv4NetworkRange + { + public readonly string? NetworkRangeId; + /// + /// Classless Inter-Domain Routing (CIDR). + /// + public readonly string Prefix; + + [OutputConstructor] + private NetworkAreaRegionIpv4NetworkRange( + string? networkRangeId, + + string prefix) + { + NetworkRangeId = networkRangeId; + Prefix = prefix; + } + } +} diff --git a/sdk/dotnet/Outputs/NetworkAreaRouteDestination.cs b/sdk/dotnet/Outputs/NetworkAreaRouteDestination.cs new file mode 100644 index 0000000..12b9fd1 --- /dev/null +++ b/sdk/dotnet/Outputs/NetworkAreaRouteDestination.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class NetworkAreaRouteDestination + { + /// + /// CIDRV type. Possible values are: `Cidrv4`, `Cidrv6`. Only `Cidrv4` is supported currently. + /// + public readonly string Type; + /// + /// An CIDR string. + /// + public readonly string Value; + + [OutputConstructor] + private NetworkAreaRouteDestination( + string type, + + string value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/NetworkAreaRouteNextHop.cs b/sdk/dotnet/Outputs/NetworkAreaRouteNextHop.cs new file mode 100644 index 0000000..d657abd --- /dev/null +++ b/sdk/dotnet/Outputs/NetworkAreaRouteNextHop.cs @@ -0,0 +1,35 @@ +// *** WARNING: this file was generated by pulumi-language-dotnet. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +using System; +using System.Collections.Generic; +using System.Collections.Immutable; +using System.Threading.Tasks; +using Pulumi.Serialization; + +namespace Pulumi.Stackit.Outputs +{ + + [OutputType] + public sealed class NetworkAreaRouteNextHop + { + /// + /// Type of the next hop. Possible values are: `Blackhole`, `Internet`, `Ipv4`, `Ipv6`. Only `Ipv4` supported currently. + /// + public readonly string Type; + /// + /// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + /// + public readonly string? Value; + + [OutputConstructor] + private NetworkAreaRouteNextHop( + string type, + + string? value) + { + Type = type; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/SfsExportPolicyRule.cs b/sdk/dotnet/Outputs/SfsExportPolicyRule.cs new file mode 100644 index 0000000..afa872d --- /dev/null +++ b/sdk/dotnet/Outputs/SfsExportPolicyRule.cs @@ -0,0 +1,63 @@ +// *** 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 SfsExportPolicyRule + { + /// + /// Description of the Rule + /// + public readonly string? Description; + /// + /// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public readonly ImmutableArray IpAcls; + /// + /// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + /// + public readonly int Order; + /// + /// Flag to indicate if client IPs matching this rule can only mount the share in read only mode + /// + public readonly bool? ReadOnly; + /// + /// Flag to honor set UUID + /// + public readonly bool? SetUuid; + /// + /// Flag to indicate if client IPs matching this rule have root access on the Share + /// + public readonly bool? SuperUser; + + [OutputConstructor] + private SfsExportPolicyRule( + string? description, + + ImmutableArray ipAcls, + + int order, + + bool? readOnly, + + bool? setUuid, + + bool? superUser) + { + Description = description; + IpAcls = ipAcls; + Order = order; + ReadOnly = readOnly; + SetUuid = setUuid; + SuperUser = superUser; + } + } +} diff --git a/sdk/dotnet/Outputs/SkeClusterMaintenance.cs b/sdk/dotnet/Outputs/SkeClusterMaintenance.cs index 1326887..03afe41 100644 --- a/sdk/dotnet/Outputs/SkeClusterMaintenance.cs +++ b/sdk/dotnet/Outputs/SkeClusterMaintenance.cs @@ -14,11 +14,11 @@ namespace Pulumi.Stackit.Outputs public sealed class SkeClusterMaintenance { /// - /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// public readonly bool? EnableKubernetesVersionUpdates; /// - /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Flag to enable/disable auto-updates of the OS image version. Defaults to `True`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// public readonly bool? EnableMachineImageVersionUpdates; /// diff --git a/sdk/dotnet/Outputs/SkeClusterNodePool.cs b/sdk/dotnet/Outputs/SkeClusterNodePool.cs index f334358..121f30c 100644 --- a/sdk/dotnet/Outputs/SkeClusterNodePool.cs +++ b/sdk/dotnet/Outputs/SkeClusterNodePool.cs @@ -62,11 +62,11 @@ public sealed class SkeClusterNodePool /// public readonly string? OsVersion; /// - /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. + /// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `OsVersionUsed` field. /// public readonly string? OsVersionMin; /// - /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full OS image version used. For example, if 3815.2 was set in `OsVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// public readonly string? OsVersionUsed; /// diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index 15b81f7..2e09245 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -216,6 +216,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("serviceEnablementCustomEndpoint")] public Output ServiceEnablementCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Stackit Filestorage API + /// + [Output("sfsCustomEndpoint")] + public Output SfsCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the Kubernetes Engine (SKE) service /// @@ -485,6 +491,12 @@ public InputList Experiments [Input("serviceEnablementCustomEndpoint")] public Input? ServiceEnablementCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Stackit Filestorage API + /// + [Input("sfsCustomEndpoint")] + public Input? SfsCustomEndpoint { get; set; } + /// /// Custom endpoint for the Kubernetes Engine (SKE) service /// diff --git a/sdk/dotnet/PublicIp.cs b/sdk/dotnet/PublicIp.cs index 497d685..8a387f6 100644 --- a/sdk/dotnet/PublicIp.cs +++ b/sdk/dotnet/PublicIp.cs @@ -44,6 +44,12 @@ public partial class PublicIp : global::Pulumi.CustomResource [Output("publicIpId")] public Output PublicIpId { 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 PublicIp resource with the given unique name, arguments, and options. @@ -112,6 +118,12 @@ public InputMap Labels [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 PublicIpArgs() { } @@ -153,6 +165,12 @@ public InputMap Labels [Input("publicIpId")] public Input? PublicIpId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public PublicIpState() { } diff --git a/sdk/dotnet/PublicIpAssociate.cs b/sdk/dotnet/PublicIpAssociate.cs index 1889a7d..e5164cf 100644 --- a/sdk/dotnet/PublicIpAssociate.cs +++ b/sdk/dotnet/PublicIpAssociate.cs @@ -44,6 +44,12 @@ public partial class PublicIpAssociate : global::Pulumi.CustomResource [Output("publicIpId")] public Output PublicIpId { 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 PublicIpAssociate resource with the given unique name, arguments, and options. @@ -109,6 +115,12 @@ public sealed class PublicIpAssociateArgs : global::Pulumi.ResourceArgs [Input("publicIpId", required: true)] public Input PublicIpId { get; set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public PublicIpAssociateArgs() { } @@ -141,6 +153,12 @@ public sealed class PublicIpAssociateState : global::Pulumi.ResourceArgs [Input("publicIpId")] public Input? PublicIpId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + public PublicIpAssociateState() { } diff --git a/sdk/dotnet/Pulumi.yaml b/sdk/dotnet/Pulumi.yaml index e69de29..942f7de 100644 --- a/sdk/dotnet/Pulumi.yaml +++ b/sdk/dotnet/Pulumi.yaml @@ -0,0 +1,3 @@ +name: stackit +description: A Pulumi resource provider for stackit. +language: dotnet diff --git a/sdk/dotnet/SecurityGroup.cs b/sdk/dotnet/SecurityGroup.cs index b2177c9..142c6dc 100644 --- a/sdk/dotnet/SecurityGroup.cs +++ b/sdk/dotnet/SecurityGroup.cs @@ -41,6 +41,12 @@ public partial class SecurityGroup : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The security group ID. /// @@ -130,6 +136,12 @@ public InputMap Labels [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; } + /// /// Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. /// @@ -174,6 +186,12 @@ public InputMap Labels [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The security group ID. /// diff --git a/sdk/dotnet/SecurityGroupRule.cs b/sdk/dotnet/SecurityGroupRule.cs index 34ff1cd..44e7508 100644 --- a/sdk/dotnet/SecurityGroupRule.cs +++ b/sdk/dotnet/SecurityGroupRule.cs @@ -65,6 +65,12 @@ public partial class SecurityGroupRule : global::Pulumi.CustomResource [Output("protocol")] public Output Protocol { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The remote security group which the rule should match. /// @@ -178,6 +184,12 @@ public sealed class SecurityGroupRuleArgs : global::Pulumi.ResourceArgs [Input("protocol")] public Input? Protocol { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The remote security group which the rule should match. /// @@ -246,6 +258,12 @@ public sealed class SecurityGroupRuleState : global::Pulumi.ResourceArgs [Input("protocol")] public Input? Protocol { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The remote security group which the rule should match. /// diff --git a/sdk/dotnet/Server.cs b/sdk/dotnet/Server.cs index be04eae..b0e0a55 100644 --- a/sdk/dotnet/Server.cs +++ b/sdk/dotnet/Server.cs @@ -86,7 +86,7 @@ public partial class Server : global::Pulumi.CustomResource public Output LaunchedAt { get; private set; } = null!; /// - /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) /// [Output("machineType")] public Output MachineType { get; private set; } = null!; @@ -98,7 +98,7 @@ public partial class Server : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** /// [Output("networkInterfaces")] public Output> NetworkInterfaces { get; private set; } = null!; @@ -109,6 +109,12 @@ public partial class Server : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The server ID. /// @@ -223,7 +229,7 @@ public InputMap Labels } /// - /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) /// [Input("machineType", required: true)] public Input MachineType { get; set; } = null!; @@ -238,7 +244,7 @@ public InputMap Labels private InputList? _networkInterfaces; /// - /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** /// public InputList NetworkInterfaces { @@ -252,6 +258,12 @@ public InputList NetworkInterfaces [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; } + /// /// User data that is passed via cloud-init to the server. /// @@ -327,7 +339,7 @@ public InputMap Labels public Input? LaunchedAt { get; set; } /// - /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + /// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) /// [Input("machineType")] public Input? MachineType { get; set; } @@ -342,7 +354,7 @@ public InputMap Labels private InputList? _networkInterfaces; /// - /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + /// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** /// public InputList NetworkInterfaces { @@ -356,6 +368,12 @@ public InputList NetworkInterfaces [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The server ID. /// diff --git a/sdk/dotnet/ServerNetworkInterfaceAttach.cs b/sdk/dotnet/ServerNetworkInterfaceAttach.cs index b6efbe7..4a52e30 100644 --- a/sdk/dotnet/ServerNetworkInterfaceAttach.cs +++ b/sdk/dotnet/ServerNetworkInterfaceAttach.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Network interface attachment resource schema. Attaches a network interface to a server. Must have a `Region` specified in the provider configuration. The attachment only takes full effect after server reboot. + /// Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot. /// /// ## Example Usage /// @@ -29,6 +29,12 @@ public partial class ServerNetworkInterfaceAttach : global::Pulumi.CustomResourc [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The server ID. /// @@ -94,6 +100,12 @@ public sealed class ServerNetworkInterfaceAttachArgs : global::Pulumi.ResourceAr [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; } + /// /// The server ID. /// @@ -120,6 +132,12 @@ public sealed class ServerNetworkInterfaceAttachState : global::Pulumi.ResourceA [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The server ID. /// diff --git a/sdk/dotnet/ServerServiceAccountAttach.cs b/sdk/dotnet/ServerServiceAccountAttach.cs index 32528c6..f5e34b5 100644 --- a/sdk/dotnet/ServerServiceAccountAttach.cs +++ b/sdk/dotnet/ServerServiceAccountAttach.cs @@ -23,6 +23,12 @@ public partial class ServerServiceAccountAttach : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The server ID. /// @@ -88,6 +94,12 @@ public sealed class ServerServiceAccountAttachArgs : global::Pulumi.ResourceArgs [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; } + /// /// The server ID. /// @@ -114,6 +126,12 @@ public sealed class ServerServiceAccountAttachState : global::Pulumi.ResourceArg [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The server ID. /// diff --git a/sdk/dotnet/ServerVolumeAttach.cs b/sdk/dotnet/ServerVolumeAttach.cs index 6cf41ef..0c0db47 100644 --- a/sdk/dotnet/ServerVolumeAttach.cs +++ b/sdk/dotnet/ServerVolumeAttach.cs @@ -23,6 +23,12 @@ public partial class ServerVolumeAttach : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The server ID. /// @@ -88,6 +94,12 @@ public sealed class ServerVolumeAttachArgs : global::Pulumi.ResourceArgs [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; } + /// /// The server ID. /// @@ -114,6 +126,12 @@ public sealed class ServerVolumeAttachState : global::Pulumi.ResourceArgs [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The server ID. /// diff --git a/sdk/dotnet/ServiceAccountAccessToken.cs b/sdk/dotnet/ServiceAccountAccessToken.cs index 1af6bd4..dffd066 100644 --- a/sdk/dotnet/ServiceAccountAccessToken.cs +++ b/sdk/dotnet/ServiceAccountAccessToken.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit /// /// Service account access token schema. /// - /// !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations. + /// !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations. /// /// ## Example Usage /// diff --git a/sdk/dotnet/SfsExportPolicy.cs b/sdk/dotnet/SfsExportPolicy.cs new file mode 100644 index 0000000..8532a7f --- /dev/null +++ b/sdk/dotnet/SfsExportPolicy.cs @@ -0,0 +1,167 @@ +// *** 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 +{ + /// + /// SFS export policy resource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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/sfsExportPolicy:SfsExportPolicy")] + public partial class SfsExportPolicy : global::Pulumi.CustomResource + { + /// + /// Name of the export policy. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Export policy ID + /// + [Output("policyId")] + public Output PolicyId { get; private set; } = null!; + + /// + /// STACKIT project ID to which the export policy is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("rules")] + public Output> Rules { get; private set; } = null!; + + + /// + /// Create a SfsExportPolicy 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 SfsExportPolicy(string name, SfsExportPolicyArgs args, CustomResourceOptions? options = null) + : base("stackit:index/sfsExportPolicy:SfsExportPolicy", name, args ?? new SfsExportPolicyArgs(), MakeResourceOptions(options, "")) + { + } + + private SfsExportPolicy(string name, Input id, SfsExportPolicyState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/sfsExportPolicy:SfsExportPolicy", 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 SfsExportPolicy 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 SfsExportPolicy Get(string name, Input id, SfsExportPolicyState? state = null, CustomResourceOptions? options = null) + { + return new SfsExportPolicy(name, id, state, options); + } + } + + public sealed class SfsExportPolicyArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the export policy. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the export policy is 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; } + + [Input("rules")] + private InputList? _rules; + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public SfsExportPolicyArgs() + { + } + public static new SfsExportPolicyArgs Empty => new SfsExportPolicyArgs(); + } + + public sealed class SfsExportPolicyState : global::Pulumi.ResourceArgs + { + /// + /// Name of the export policy. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Export policy ID + /// + [Input("policyId")] + public Input? PolicyId { get; set; } + + /// + /// STACKIT project ID to which the export policy is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("rules")] + private InputList? _rules; + public InputList Rules + { + get => _rules ?? (_rules = new InputList()); + set => _rules = value; + } + + public SfsExportPolicyState() + { + } + public static new SfsExportPolicyState Empty => new SfsExportPolicyState(); + } +} diff --git a/sdk/dotnet/SfsResourcePool.cs b/sdk/dotnet/SfsResourcePool.cs new file mode 100644 index 0000000..74c643b --- /dev/null +++ b/sdk/dotnet/SfsResourcePool.cs @@ -0,0 +1,250 @@ +// *** 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 +{ + /// + /// Resource-pool resource schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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/sfsResourcePool:SfsResourcePool")] + public partial class SfsResourcePool : global::Pulumi.CustomResource + { + /// + /// Availability zone. + /// + [Output("availabilityZone")] + public Output AvailabilityZone { get; private set; } = null!; + + /// + /// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + [Output("ipAcls")] + public Output> IpAcls { get; private set; } = null!; + + /// + /// Name of the resource pool. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// Name of the performance class. + /// + [Output("performanceClass")] + public Output PerformanceClass { get; private set; } = null!; + + /// + /// STACKIT project ID to which the resource pool is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Resource pool ID + /// + [Output("resourcePoolId")] + public Output ResourcePoolId { get; private set; } = null!; + + /// + /// Size of the resource pool (unit: gigabytes) + /// + [Output("sizeGigabytes")] + public Output SizeGigabytes { get; private set; } = null!; + + /// + /// If set to true, snapshots are visible and accessible to users. (default: false) + /// + [Output("snapshotsAreVisible")] + public Output SnapshotsAreVisible { get; private set; } = null!; + + + /// + /// Create a SfsResourcePool 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 SfsResourcePool(string name, SfsResourcePoolArgs args, CustomResourceOptions? options = null) + : base("stackit:index/sfsResourcePool:SfsResourcePool", name, args ?? new SfsResourcePoolArgs(), MakeResourceOptions(options, "")) + { + } + + private SfsResourcePool(string name, Input id, SfsResourcePoolState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/sfsResourcePool:SfsResourcePool", 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 SfsResourcePool 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 SfsResourcePool Get(string name, Input id, SfsResourcePoolState? state = null, CustomResourceOptions? options = null) + { + return new SfsResourcePool(name, id, state, options); + } + } + + public sealed class SfsResourcePoolArgs : global::Pulumi.ResourceArgs + { + /// + /// Availability zone. + /// + [Input("availabilityZone", required: true)] + public Input AvailabilityZone { get; set; } = null!; + + [Input("ipAcls", required: true)] + private InputList? _ipAcls; + + /// + /// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public InputList IpAcls + { + get => _ipAcls ?? (_ipAcls = new InputList()); + set => _ipAcls = value; + } + + /// + /// Name of the resource pool. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the performance class. + /// + [Input("performanceClass", required: true)] + public Input PerformanceClass { get; set; } = null!; + + /// + /// STACKIT project ID to which the resource pool is 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; } + + /// + /// Size of the resource pool (unit: gigabytes) + /// + [Input("sizeGigabytes", required: true)] + public Input SizeGigabytes { get; set; } = null!; + + /// + /// If set to true, snapshots are visible and accessible to users. (default: false) + /// + [Input("snapshotsAreVisible")] + public Input? SnapshotsAreVisible { get; set; } + + public SfsResourcePoolArgs() + { + } + public static new SfsResourcePoolArgs Empty => new SfsResourcePoolArgs(); + } + + public sealed class SfsResourcePoolState : global::Pulumi.ResourceArgs + { + /// + /// Availability zone. + /// + [Input("availabilityZone")] + public Input? AvailabilityZone { get; set; } + + [Input("ipAcls")] + private InputList? _ipAcls; + + /// + /// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + /// + public InputList IpAcls + { + get => _ipAcls ?? (_ipAcls = new InputList()); + set => _ipAcls = value; + } + + /// + /// Name of the resource pool. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// Name of the performance class. + /// + [Input("performanceClass")] + public Input? PerformanceClass { get; set; } + + /// + /// STACKIT project ID to which the resource pool is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Resource pool ID + /// + [Input("resourcePoolId")] + public Input? ResourcePoolId { get; set; } + + /// + /// Size of the resource pool (unit: gigabytes) + /// + [Input("sizeGigabytes")] + public Input? SizeGigabytes { get; set; } + + /// + /// If set to true, snapshots are visible and accessible to users. (default: false) + /// + [Input("snapshotsAreVisible")] + public Input? SnapshotsAreVisible { get; set; } + + public SfsResourcePoolState() + { + } + public static new SfsResourcePoolState Empty => new SfsResourcePoolState(); + } +} diff --git a/sdk/dotnet/SfsShare.cs b/sdk/dotnet/SfsShare.cs new file mode 100644 index 0000000..9fee169 --- /dev/null +++ b/sdk/dotnet/SfsShare.cs @@ -0,0 +1,229 @@ +// *** 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 +{ + /// + /// SFS Share schema. Must have a `Region` specified in the provider configuration. + /// + /// > 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/sfsShare:SfsShare")] + public partial class SfsShare : global::Pulumi.CustomResource + { + /// + /// Name of the Share Export Policy to use in the Share. + /// Note that if this is set to an empty string, the Share can only be mounted in read only by + /// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + /// You can also assign a Share Export Policy after creating the Share + /// + [Output("exportPolicy")] + public Output ExportPolicy { get; private set; } = null!; + + /// + /// Mount path of the Share, used to mount the Share + /// + [Output("mountPath")] + public Output MountPath { get; private set; } = null!; + + /// + /// Name of the share. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// STACKIT project ID to which the share is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The ID of the resource pool for the SFS share. + /// + [Output("resourcePoolId")] + public Output ResourcePoolId { get; private set; } = null!; + + /// + /// share ID + /// + [Output("shareId")] + public Output ShareId { get; private set; } = null!; + + /// + /// Space hard limit for the Share. + /// If zero, the Share will have access to the full space of the Resource Pool it lives in. + /// (unit: gigabytes) + /// + [Output("spaceHardLimitGigabytes")] + public Output SpaceHardLimitGigabytes { get; private set; } = null!; + + + /// + /// Create a SfsShare 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 SfsShare(string name, SfsShareArgs args, CustomResourceOptions? options = null) + : base("stackit:index/sfsShare:SfsShare", name, args ?? new SfsShareArgs(), MakeResourceOptions(options, "")) + { + } + + private SfsShare(string name, Input id, SfsShareState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/sfsShare:SfsShare", 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 SfsShare 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 SfsShare Get(string name, Input id, SfsShareState? state = null, CustomResourceOptions? options = null) + { + return new SfsShare(name, id, state, options); + } + } + + public sealed class SfsShareArgs : global::Pulumi.ResourceArgs + { + /// + /// Name of the Share Export Policy to use in the Share. + /// Note that if this is set to an empty string, the Share can only be mounted in read only by + /// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + /// You can also assign a Share Export Policy after creating the Share + /// + [Input("exportPolicy", required: true)] + public Input ExportPolicy { get; set; } = null!; + + /// + /// Name of the share. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the share is 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; } + + /// + /// The ID of the resource pool for the SFS share. + /// + [Input("resourcePoolId", required: true)] + public Input ResourcePoolId { get; set; } = null!; + + /// + /// Space hard limit for the Share. + /// If zero, the Share will have access to the full space of the Resource Pool it lives in. + /// (unit: gigabytes) + /// + [Input("spaceHardLimitGigabytes", required: true)] + public Input SpaceHardLimitGigabytes { get; set; } = null!; + + public SfsShareArgs() + { + } + public static new SfsShareArgs Empty => new SfsShareArgs(); + } + + public sealed class SfsShareState : global::Pulumi.ResourceArgs + { + /// + /// Name of the Share Export Policy to use in the Share. + /// Note that if this is set to an empty string, the Share can only be mounted in read only by + /// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + /// You can also assign a Share Export Policy after creating the Share + /// + [Input("exportPolicy")] + public Input? ExportPolicy { get; set; } + + /// + /// Mount path of the Share, used to mount the Share + /// + [Input("mountPath")] + public Input? MountPath { get; set; } + + /// + /// Name of the share. + /// + [Input("name")] + public Input? Name { get; set; } + + /// + /// STACKIT project ID to which the share is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The ID of the resource pool for the SFS share. + /// + [Input("resourcePoolId")] + public Input? ResourcePoolId { get; set; } + + /// + /// share ID + /// + [Input("shareId")] + public Input? ShareId { get; set; } + + /// + /// Space hard limit for the Share. + /// If zero, the Share will have access to the full space of the Resource Pool it lives in. + /// (unit: gigabytes) + /// + [Input("spaceHardLimitGigabytes")] + public Input? SpaceHardLimitGigabytes { get; set; } + + public SfsShareState() + { + } + public static new SfsShareState Empty => new SfsShareState(); + } +} diff --git a/sdk/dotnet/SkeCluster.cs b/sdk/dotnet/SkeCluster.cs index 59fcf42..b29647d 100644 --- a/sdk/dotnet/SkeCluster.cs +++ b/sdk/dotnet/SkeCluster.cs @@ -38,13 +38,13 @@ public partial class SkeCluster : global::Pulumi.CustomResource public Output> Hibernations { get; private set; } = null!; /// - /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. + /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. /// [Output("kubernetesVersionMin")] public Output KubernetesVersionMin { get; private set; } = null!; /// - /// Full Kubernetes version used. For example, if 1.22 was set in `KubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full Kubernetes version used. For example, if 1.22 was set in `KubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Output("kubernetesVersionUsed")] public Output KubernetesVersionUsed { get; private set; } = null!; @@ -157,7 +157,7 @@ public InputList Hibernations } /// - /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. + /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. /// [Input("kubernetesVersionMin")] public Input? KubernetesVersionMin { get; set; } @@ -243,13 +243,13 @@ public InputList Hibernations } /// - /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. + /// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `KubernetesVersionUsed` field. /// [Input("kubernetesVersionMin")] public Input? KubernetesVersionMin { get; set; } /// - /// Full Kubernetes version used. For example, if 1.22 was set in `KubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + /// Full Kubernetes version used. For example, if 1.22 was set in `KubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). /// [Input("kubernetesVersionUsed")] public Input? KubernetesVersionUsed { get; set; } diff --git a/sdk/dotnet/Volume.cs b/sdk/dotnet/Volume.cs index 5bd69dd..82698f0 100644 --- a/sdk/dotnet/Volume.cs +++ b/sdk/dotnet/Volume.cs @@ -42,7 +42,7 @@ public partial class Volume : global::Pulumi.CustomResource public Output Name { get; private set; } = null!; /// - /// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + /// 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) /// [Output("performanceClass")] public Output PerformanceClass { get; private set; } = null!; @@ -53,6 +53,12 @@ public partial class Volume : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// The resource region. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + /// /// The server ID of the server to which the volume is attached to. /// @@ -155,7 +161,7 @@ public InputMap Labels public Input? Name { get; set; } /// - /// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + /// 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) /// [Input("performanceClass")] public Input? PerformanceClass { get; set; } @@ -166,6 +172,12 @@ public InputMap Labels [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; } + /// /// The size of the volume in GB. It can only be updated to a larger value than the current size. Either `Size` or `Source` must be provided /// @@ -217,7 +229,7 @@ public InputMap Labels public Input? Name { get; set; } /// - /// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + /// 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) /// [Input("performanceClass")] public Input? PerformanceClass { get; set; } @@ -228,6 +240,12 @@ public InputMap Labels [Input("projectId")] public Input? ProjectId { get; set; } + /// + /// The resource region. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + /// /// The server ID of the server to which the volume is attached to. /// diff --git a/sdk/go/Pulumi.yaml b/sdk/go/Pulumi.yaml index e69de29..e702ada 100644 --- a/sdk/go/Pulumi.yaml +++ b/sdk/go/Pulumi.yaml @@ -0,0 +1,3 @@ +name: stackit +description: A Pulumi resource provider for stackit. +language: go diff --git a/sdk/go/stackit/affinityGroup.go b/sdk/go/stackit/affinityGroup.go index d3ac116..4308d38 100644 --- a/sdk/go/stackit/affinityGroup.go +++ b/sdk/go/stackit/affinityGroup.go @@ -12,7 +12,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Affinity Group schema. Must have a `region` specified in the provider configuration. +// Affinity Group schema. // // ## Example Usage type AffinityGroup struct { @@ -28,6 +28,8 @@ type AffinityGroup struct { Policy pulumi.StringOutput `pulumi:"policy"` // STACKIT Project ID to which the affinity group is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` } // NewAffinityGroup registers a new resource with the given unique name, arguments, and options. @@ -76,6 +78,8 @@ type affinityGroupState struct { Policy *string `pulumi:"policy"` // STACKIT Project ID to which the affinity group is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } type AffinityGroupState struct { @@ -89,6 +93,8 @@ type AffinityGroupState struct { Policy pulumi.StringPtrInput // STACKIT Project ID to which the affinity group is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (AffinityGroupState) ElementType() reflect.Type { @@ -102,6 +108,8 @@ type affinityGroupArgs struct { Policy string `pulumi:"policy"` // STACKIT Project ID to which the affinity group is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a AffinityGroup resource. @@ -112,6 +120,8 @@ type AffinityGroupArgs struct { Policy pulumi.StringInput // STACKIT Project ID to which the affinity group is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (AffinityGroupArgs) ElementType() reflect.Type { @@ -226,6 +236,11 @@ func (o AffinityGroupOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *AffinityGroup) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o AffinityGroupOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *AffinityGroup) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + type AffinityGroupArrayOutput struct{ *pulumi.OutputState } func (AffinityGroupArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/config/config.go b/sdk/go/stackit/config/config.go index 82e894c..51767f1 100644 --- a/sdk/go/stackit/config/config.go +++ b/sdk/go/stackit/config/config.go @@ -182,7 +182,7 @@ func GetServiceAccountKeyPath(ctx *pulumi.Context) string { // Token used for authentication. If set, the token flow will be used to authenticate all operations. // -// Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html +// Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ func GetServiceAccountToken(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:serviceAccountToken") } @@ -192,6 +192,11 @@ func GetServiceEnablementCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:serviceEnablementCustomEndpoint") } +// Custom endpoint for the Stackit Filestorage API +func GetSfsCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:sfsCustomEndpoint") +} + // Custom endpoint for the Kubernetes Engine (SKE) service func GetSkeCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:skeCustomEndpoint") diff --git a/sdk/go/stackit/getAffinityGroup.go b/sdk/go/stackit/getAffinityGroup.go index c7a8ff7..043d27e 100644 --- a/sdk/go/stackit/getAffinityGroup.go +++ b/sdk/go/stackit/getAffinityGroup.go @@ -30,6 +30,8 @@ type LookupAffinityGroupArgs struct { AffinityGroupId string `pulumi:"affinityGroupId"` // STACKIT Project ID to which the affinity group is 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 getAffinityGroup. @@ -45,6 +47,8 @@ type LookupAffinityGroupResult struct { Policy string `pulumi:"policy"` // STACKIT Project ID to which the affinity group is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } func LookupAffinityGroupOutput(ctx *pulumi.Context, args LookupAffinityGroupOutputArgs, opts ...pulumi.InvokeOption) LookupAffinityGroupResultOutput { @@ -62,6 +66,8 @@ type LookupAffinityGroupOutputArgs struct { AffinityGroupId pulumi.StringInput `pulumi:"affinityGroupId"` // STACKIT Project ID to which the affinity group is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupAffinityGroupOutputArgs) ElementType() reflect.Type { @@ -112,6 +118,11 @@ func (o LookupAffinityGroupResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupAffinityGroupResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupAffinityGroupResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupAffinityGroupResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupAffinityGroupResultOutput{}) } diff --git a/sdk/go/stackit/getIaasProject.go b/sdk/go/stackit/getIaasProject.go index c3d2fdb..53b90f4 100644 --- a/sdk/go/stackit/getIaasProject.go +++ b/sdk/go/stackit/getIaasProject.go @@ -41,8 +41,12 @@ type GetIaasProjectResult struct { InternetAccess bool `pulumi:"internetAccess"` // STACKIT project ID. ProjectId string `pulumi:"projectId"` - // Specifies the state of the project. + // Specifies the status of the project. + // + // Deprecated: Deprecated: Will be removed in May 2026. Use the `status` field instead. State string `pulumi:"state"` + // Specifies the status of the project. + Status string `pulumi:"status"` // Date-time when the project was last updated. UpdatedAt string `pulumi:"updatedAt"` } @@ -105,11 +109,18 @@ func (o GetIaasProjectResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v GetIaasProjectResult) string { return v.ProjectId }).(pulumi.StringOutput) } -// Specifies the state of the project. +// Specifies the status of the project. +// +// Deprecated: Deprecated: Will be removed in May 2026. Use the `status` field instead. func (o GetIaasProjectResultOutput) State() pulumi.StringOutput { return o.ApplyT(func(v GetIaasProjectResult) string { return v.State }).(pulumi.StringOutput) } +// Specifies the status of the project. +func (o GetIaasProjectResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetIaasProjectResult) string { return v.Status }).(pulumi.StringOutput) +} + // Date-time when the project was last updated. func (o GetIaasProjectResultOutput) UpdatedAt() pulumi.StringOutput { return o.ApplyT(func(v GetIaasProjectResult) string { return v.UpdatedAt }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getImage.go b/sdk/go/stackit/getImage.go index 13a3df6..26b55ad 100644 --- a/sdk/go/stackit/getImage.go +++ b/sdk/go/stackit/getImage.go @@ -30,6 +30,8 @@ type LookupImageArgs struct { ImageId string `pulumi:"imageId"` // STACKIT project ID to which the image is 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 getImage. @@ -55,6 +57,8 @@ type LookupImageResult struct { ProjectId string `pulumi:"projectId"` // Whether the image is protected. Protected bool `pulumi:"protected"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The scope of the image. Scope string `pulumi:"scope"` } @@ -74,6 +78,8 @@ type LookupImageOutputArgs struct { ImageId pulumi.StringInput `pulumi:"imageId"` // STACKIT project ID to which the image is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupImageOutputArgs) ElementType() reflect.Type { @@ -149,6 +155,11 @@ func (o LookupImageResultOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v LookupImageResult) bool { return v.Protected }).(pulumi.BoolOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupImageResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupImageResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The scope of the image. func (o LookupImageResultOutput) Scope() pulumi.StringOutput { return o.ApplyT(func(v LookupImageResult) string { return v.Scope }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getImageV2.go b/sdk/go/stackit/getImageV2.go index 0a4e2bc..c65fb9a 100644 --- a/sdk/go/stackit/getImageV2.go +++ b/sdk/go/stackit/getImageV2.go @@ -34,6 +34,8 @@ type GetImageV2Args struct { NameRegex *string `pulumi:"nameRegex"` // STACKIT project ID to which the image is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). SortAscending *bool `pulumi:"sortAscending"` } @@ -65,6 +67,8 @@ type GetImageV2Result struct { ProjectId string `pulumi:"projectId"` // Whether the image is protected. Protected bool `pulumi:"protected"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The scope of the image. Scope string `pulumi:"scope"` // If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). @@ -92,6 +96,8 @@ type GetImageV2OutputArgs struct { NameRegex pulumi.StringPtrInput `pulumi:"nameRegex"` // STACKIT project ID to which the image is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` // If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). SortAscending pulumi.BoolPtrInput `pulumi:"sortAscending"` } @@ -179,6 +185,11 @@ func (o GetImageV2ResultOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v GetImageV2Result) bool { return v.Protected }).(pulumi.BoolOutput) } +// The resource region. If not defined, the provider region is used. +func (o GetImageV2ResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Result) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The scope of the image. func (o GetImageV2ResultOutput) Scope() pulumi.StringOutput { return o.ApplyT(func(v GetImageV2Result) string { return v.Scope }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getMachineType.go b/sdk/go/stackit/getMachineType.go index 311fc08..21a494a 100644 --- a/sdk/go/stackit/getMachineType.go +++ b/sdk/go/stackit/getMachineType.go @@ -29,9 +29,10 @@ func GetMachineType(ctx *pulumi.Context, args *GetMachineTypeArgs, opts ...pulum // A collection of arguments for invoking getMachineType. type GetMachineTypeArgs struct { // Expr-lang filter for filtering machine types. - Filter string `pulumi:"filter"` - ProjectId string `pulumi:"projectId"` - SortAscending *bool `pulumi:"sortAscending"` + Filter string `pulumi:"filter"` + ProjectId string `pulumi:"projectId"` + Region *string `pulumi:"region"` + SortAscending *bool `pulumi:"sortAscending"` } // A collection of values returned by getMachineType. @@ -40,13 +41,14 @@ type GetMachineTypeResult struct { Disk int `pulumi:"disk"` ExtraSpecs map[string]string `pulumi:"extraSpecs"` // Expr-lang filter for filtering machine types. - Filter string `pulumi:"filter"` - Id string `pulumi:"id"` - Name string `pulumi:"name"` - ProjectId string `pulumi:"projectId"` - Ram int `pulumi:"ram"` - SortAscending *bool `pulumi:"sortAscending"` - Vcpus int `pulumi:"vcpus"` + Filter string `pulumi:"filter"` + Id string `pulumi:"id"` + Name string `pulumi:"name"` + ProjectId string `pulumi:"projectId"` + Ram int `pulumi:"ram"` + Region *string `pulumi:"region"` + SortAscending *bool `pulumi:"sortAscending"` + Vcpus int `pulumi:"vcpus"` } func GetMachineTypeOutput(ctx *pulumi.Context, args GetMachineTypeOutputArgs, opts ...pulumi.InvokeOption) GetMachineTypeResultOutput { @@ -61,9 +63,10 @@ func GetMachineTypeOutput(ctx *pulumi.Context, args GetMachineTypeOutputArgs, op // A collection of arguments for invoking getMachineType. type GetMachineTypeOutputArgs struct { // Expr-lang filter for filtering machine types. - Filter pulumi.StringInput `pulumi:"filter"` - ProjectId pulumi.StringInput `pulumi:"projectId"` - SortAscending pulumi.BoolPtrInput `pulumi:"sortAscending"` + Filter pulumi.StringInput `pulumi:"filter"` + ProjectId pulumi.StringInput `pulumi:"projectId"` + Region pulumi.StringPtrInput `pulumi:"region"` + SortAscending pulumi.BoolPtrInput `pulumi:"sortAscending"` } func (GetMachineTypeOutputArgs) ElementType() reflect.Type { @@ -118,6 +121,10 @@ func (o GetMachineTypeResultOutput) Ram() pulumi.IntOutput { return o.ApplyT(func(v GetMachineTypeResult) int { return v.Ram }).(pulumi.IntOutput) } +func (o GetMachineTypeResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetMachineTypeResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + func (o GetMachineTypeResultOutput) SortAscending() pulumi.BoolPtrOutput { return o.ApplyT(func(v GetMachineTypeResult) *bool { return v.SortAscending }).(pulumi.BoolPtrOutput) } diff --git a/sdk/go/stackit/getNetworkArea.go b/sdk/go/stackit/getNetworkArea.go index 1112ddf..faf93f2 100644 --- a/sdk/go/stackit/getNetworkArea.go +++ b/sdk/go/stackit/getNetworkArea.go @@ -35,27 +35,39 @@ type LookupNetworkAreaArgs struct { // A collection of values returned by getNetworkArea. type LookupNetworkAreaResult struct { // List of DNS Servers/Nameservers. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. DefaultNameservers []string `pulumi:"defaultNameservers"` // The default prefix length for networks in the network area. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. DefaultPrefixLength int `pulumi:"defaultPrefixLength"` 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 maximal prefix length for networks in the network area. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. MaxPrefixLength int `pulumi:"maxPrefixLength"` // The minimal prefix length for networks in the network area. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. MinPrefixLength int `pulumi:"minPrefixLength"` // The name of the network area. Name string `pulumi:"name"` // The network area ID. NetworkAreaId string `pulumi:"networkAreaId"` // List of Network ranges. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. NetworkRanges []GetNetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount int `pulumi:"projectCount"` // Classless Inter-Domain Routing (CIDR). + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. TransferNetwork string `pulumi:"transferNetwork"` } @@ -96,11 +108,15 @@ func (o LookupNetworkAreaResultOutput) ToLookupNetworkAreaResultOutputWithContex } // List of DNS Servers/Nameservers. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) DefaultNameservers() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupNetworkAreaResult) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) } // The default prefix length for networks in the network area. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) DefaultPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) } @@ -115,11 +131,15 @@ func (o LookupNetworkAreaResultOutput) Labels() pulumi.StringMapOutput { } // The maximal prefix length for networks in the network area. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) MaxPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.MaxPrefixLength }).(pulumi.IntOutput) } // The minimal prefix length for networks in the network area. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) MinPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v LookupNetworkAreaResult) int { return v.MinPrefixLength }).(pulumi.IntOutput) } @@ -135,6 +155,8 @@ func (o LookupNetworkAreaResultOutput) NetworkAreaId() pulumi.StringOutput { } // List of Network ranges. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) NetworkRanges() GetNetworkAreaNetworkRangeArrayOutput { return o.ApplyT(func(v LookupNetworkAreaResult) []GetNetworkAreaNetworkRange { return v.NetworkRanges }).(GetNetworkAreaNetworkRangeArrayOutput) } @@ -150,6 +172,8 @@ func (o LookupNetworkAreaResultOutput) ProjectCount() pulumi.IntOutput { } // Classless Inter-Domain Routing (CIDR). +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. func (o LookupNetworkAreaResultOutput) TransferNetwork() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaResult) string { return v.TransferNetwork }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getNetworkAreaRegion.go b/sdk/go/stackit/getNetworkAreaRegion.go new file mode 100644 index 0000000..f6cc900 --- /dev/null +++ b/sdk/go/stackit/getNetworkAreaRegion.go @@ -0,0 +1,114 @@ +// 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" +) + +// Network area region data source schema. +// +// ## Example Usage +func LookupNetworkAreaRegion(ctx *pulumi.Context, args *LookupNetworkAreaRegionArgs, opts ...pulumi.InvokeOption) (*LookupNetworkAreaRegionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupNetworkAreaRegionResult + err := ctx.Invoke("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getNetworkAreaRegion. +type LookupNetworkAreaRegionArgs struct { + // The network area ID. + NetworkAreaId string `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId string `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getNetworkAreaRegion. +type LookupNetworkAreaRegionResult struct { + Id string `pulumi:"id"` + // The regional IPv4 config of a network area. + Ipv4 GetNetworkAreaRegionIpv4 `pulumi:"ipv4"` + // The network area ID. + NetworkAreaId string `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId string `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +func LookupNetworkAreaRegionOutput(ctx *pulumi.Context, args LookupNetworkAreaRegionOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkAreaRegionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupNetworkAreaRegionResultOutput, error) { + args := v.(LookupNetworkAreaRegionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", args, LookupNetworkAreaRegionResultOutput{}, options).(LookupNetworkAreaRegionResultOutput), nil + }).(LookupNetworkAreaRegionResultOutput) +} + +// A collection of arguments for invoking getNetworkAreaRegion. +type LookupNetworkAreaRegionOutputArgs struct { + // The network area ID. + NetworkAreaId pulumi.StringInput `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId pulumi.StringInput `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupNetworkAreaRegionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkAreaRegionArgs)(nil)).Elem() +} + +// A collection of values returned by getNetworkAreaRegion. +type LookupNetworkAreaRegionResultOutput struct{ *pulumi.OutputState } + +func (LookupNetworkAreaRegionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupNetworkAreaRegionResult)(nil)).Elem() +} + +func (o LookupNetworkAreaRegionResultOutput) ToLookupNetworkAreaRegionResultOutput() LookupNetworkAreaRegionResultOutput { + return o +} + +func (o LookupNetworkAreaRegionResultOutput) ToLookupNetworkAreaRegionResultOutputWithContext(ctx context.Context) LookupNetworkAreaRegionResultOutput { + return o +} + +func (o LookupNetworkAreaRegionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkAreaRegionResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The regional IPv4 config of a network area. +func (o LookupNetworkAreaRegionResultOutput) Ipv4() GetNetworkAreaRegionIpv4Output { + return o.ApplyT(func(v LookupNetworkAreaRegionResult) GetNetworkAreaRegionIpv4 { return v.Ipv4 }).(GetNetworkAreaRegionIpv4Output) +} + +// The network area ID. +func (o LookupNetworkAreaRegionResultOutput) NetworkAreaId() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkAreaRegionResult) string { return v.NetworkAreaId }).(pulumi.StringOutput) +} + +// STACKIT organization ID to which the network area is associated. +func (o LookupNetworkAreaRegionResultOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v LookupNetworkAreaRegionResult) string { return v.OrganizationId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupNetworkAreaRegionResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkAreaRegionResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupNetworkAreaRegionResultOutput{}) +} diff --git a/sdk/go/stackit/getNetworkAreaRoute.go b/sdk/go/stackit/getNetworkAreaRoute.go index 463e284..75f6f3b 100644 --- a/sdk/go/stackit/getNetworkAreaRoute.go +++ b/sdk/go/stackit/getNetworkAreaRoute.go @@ -32,23 +32,27 @@ type LookupNetworkAreaRouteArgs struct { NetworkAreaRouteId string `pulumi:"networkAreaRouteId"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getNetworkAreaRoute. type LookupNetworkAreaRouteResult struct { - Id string `pulumi:"id"` + // Destination of the route. + Destination GetNetworkAreaRouteDestination `pulumi:"destination"` + 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 network area ID to which the network area route is associated. NetworkAreaId string `pulumi:"networkAreaId"` // The network area route ID. NetworkAreaRouteId string `pulumi:"networkAreaRouteId"` - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop string `pulumi:"nextHop"` + // Next hop destination. + NextHop GetNetworkAreaRouteNextHop `pulumi:"nextHop"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix string `pulumi:"prefix"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } func LookupNetworkAreaRouteOutput(ctx *pulumi.Context, args LookupNetworkAreaRouteOutputArgs, opts ...pulumi.InvokeOption) LookupNetworkAreaRouteResultOutput { @@ -68,6 +72,8 @@ type LookupNetworkAreaRouteOutputArgs struct { NetworkAreaRouteId pulumi.StringInput `pulumi:"networkAreaRouteId"` // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringInput `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupNetworkAreaRouteOutputArgs) ElementType() reflect.Type { @@ -89,6 +95,11 @@ func (o LookupNetworkAreaRouteResultOutput) ToLookupNetworkAreaRouteResultOutput return o } +// Destination of the route. +func (o LookupNetworkAreaRouteResultOutput) Destination() GetNetworkAreaRouteDestinationOutput { + return o.ApplyT(func(v LookupNetworkAreaRouteResult) GetNetworkAreaRouteDestination { return v.Destination }).(GetNetworkAreaRouteDestinationOutput) +} + func (o LookupNetworkAreaRouteResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkAreaRouteResult) string { return v.Id }).(pulumi.StringOutput) } @@ -108,9 +119,9 @@ func (o LookupNetworkAreaRouteResultOutput) NetworkAreaRouteId() pulumi.StringOu return o.ApplyT(func(v LookupNetworkAreaRouteResult) string { return v.NetworkAreaRouteId }).(pulumi.StringOutput) } -// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. -func (o LookupNetworkAreaRouteResultOutput) NextHop() pulumi.StringOutput { - return o.ApplyT(func(v LookupNetworkAreaRouteResult) string { return v.NextHop }).(pulumi.StringOutput) +// Next hop destination. +func (o LookupNetworkAreaRouteResultOutput) NextHop() GetNetworkAreaRouteNextHopOutput { + return o.ApplyT(func(v LookupNetworkAreaRouteResult) GetNetworkAreaRouteNextHop { return v.NextHop }).(GetNetworkAreaRouteNextHopOutput) } // STACKIT organization ID to which the network area is associated. @@ -118,9 +129,9 @@ func (o LookupNetworkAreaRouteResultOutput) OrganizationId() pulumi.StringOutput return o.ApplyT(func(v LookupNetworkAreaRouteResult) string { return v.OrganizationId }).(pulumi.StringOutput) } -// The network, that is reachable though the Next Hop. Should use CIDR notation. -func (o LookupNetworkAreaRouteResultOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v LookupNetworkAreaRouteResult) string { return v.Prefix }).(pulumi.StringOutput) +// The resource region. If not defined, the provider region is used. +func (o LookupNetworkAreaRouteResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkAreaRouteResult) *string { return v.Region }).(pulumi.StringPtrOutput) } func init() { diff --git a/sdk/go/stackit/getNetworkInterface.go b/sdk/go/stackit/getNetworkInterface.go index affbde5..e0286c1 100644 --- a/sdk/go/stackit/getNetworkInterface.go +++ b/sdk/go/stackit/getNetworkInterface.go @@ -32,6 +32,8 @@ type LookupNetworkInterfaceArgs struct { NetworkInterfaceId string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface is 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 getNetworkInterface. @@ -55,6 +57,8 @@ type LookupNetworkInterfaceResult struct { NetworkInterfaceId string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security bool `pulumi:"security"` // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -80,6 +84,8 @@ type LookupNetworkInterfaceOutputArgs struct { NetworkInterfaceId pulumi.StringInput `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupNetworkInterfaceOutputArgs) ElementType() reflect.Type { @@ -150,6 +156,11 @@ func (o LookupNetworkInterfaceResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupNetworkInterfaceResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupNetworkInterfaceResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupNetworkInterfaceResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The Network Interface Security. If set to false, then no security groups will apply to this network interface. func (o LookupNetworkInterfaceResultOutput) Security() pulumi.BoolOutput { return o.ApplyT(func(v LookupNetworkInterfaceResult) bool { return v.Security }).(pulumi.BoolOutput) diff --git a/sdk/go/stackit/getPublicIp.go b/sdk/go/stackit/getPublicIp.go index 48b8379..8ca1842 100644 --- a/sdk/go/stackit/getPublicIp.go +++ b/sdk/go/stackit/getPublicIp.go @@ -30,6 +30,8 @@ type LookupPublicIpArgs struct { ProjectId string `pulumi:"projectId"` // The public IP ID. PublicIpId string `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // A collection of values returned by getPublicIp. @@ -45,6 +47,8 @@ type LookupPublicIpResult struct { ProjectId string `pulumi:"projectId"` // The public IP ID. PublicIpId string `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } func LookupPublicIpOutput(ctx *pulumi.Context, args LookupPublicIpOutputArgs, opts ...pulumi.InvokeOption) LookupPublicIpResultOutput { @@ -62,6 +66,8 @@ type LookupPublicIpOutputArgs struct { ProjectId pulumi.StringInput `pulumi:"projectId"` // The public IP ID. PublicIpId pulumi.StringInput `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` } func (LookupPublicIpOutputArgs) ElementType() reflect.Type { @@ -112,6 +118,11 @@ func (o LookupPublicIpResultOutput) PublicIpId() pulumi.StringOutput { return o.ApplyT(func(v LookupPublicIpResult) string { return v.PublicIpId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupPublicIpResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupPublicIpResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterOutputType(LookupPublicIpResultOutput{}) } diff --git a/sdk/go/stackit/getSecurityGroup.go b/sdk/go/stackit/getSecurityGroup.go index 89b99d2..494d8dc 100644 --- a/sdk/go/stackit/getSecurityGroup.go +++ b/sdk/go/stackit/getSecurityGroup.go @@ -28,6 +28,8 @@ func LookupSecurityGroup(ctx *pulumi.Context, args *LookupSecurityGroupArgs, opt type LookupSecurityGroupArgs struct { // STACKIT project ID to which the security group is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The security group ID. SecurityGroupId string `pulumi:"securityGroupId"` } @@ -43,6 +45,8 @@ type LookupSecurityGroupResult struct { Name string `pulumi:"name"` // STACKIT project ID to which the security group is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The security group ID. SecurityGroupId string `pulumi:"securityGroupId"` // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. @@ -62,6 +66,8 @@ func LookupSecurityGroupOutput(ctx *pulumi.Context, args LookupSecurityGroupOutp type LookupSecurityGroupOutputArgs struct { // STACKIT project ID to which the security group is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` // The security group ID. SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"` } @@ -109,6 +115,11 @@ func (o LookupSecurityGroupResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupSecurityGroupResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupSecurityGroupResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSecurityGroupResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The security group ID. func (o LookupSecurityGroupResultOutput) SecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v LookupSecurityGroupResult) string { return v.SecurityGroupId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getSecurityGroupRule.go b/sdk/go/stackit/getSecurityGroupRule.go index c4ffb7e..5b25183 100644 --- a/sdk/go/stackit/getSecurityGroupRule.go +++ b/sdk/go/stackit/getSecurityGroupRule.go @@ -28,6 +28,8 @@ func LookupSecurityGroupRule(ctx *pulumi.Context, args *LookupSecurityGroupRuleA type LookupSecurityGroupRuleArgs struct { // STACKIT project ID to which the security group rule is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The security group ID. SecurityGroupId string `pulumi:"securityGroupId"` // The security group rule ID. @@ -53,6 +55,8 @@ type LookupSecurityGroupRuleResult struct { ProjectId string `pulumi:"projectId"` // The internet protocol which the rule should match. Protocol GetSecurityGroupRuleProtocol `pulumi:"protocol"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The remote security group which the rule should match. RemoteSecurityGroupId string `pulumi:"remoteSecurityGroupId"` // The security group ID. @@ -74,6 +78,8 @@ func LookupSecurityGroupRuleOutput(ctx *pulumi.Context, args LookupSecurityGroup type LookupSecurityGroupRuleOutputArgs struct { // STACKIT project ID to which the security group rule is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` // The security group ID. SecurityGroupId pulumi.StringInput `pulumi:"securityGroupId"` // The security group rule ID. @@ -143,6 +149,11 @@ func (o LookupSecurityGroupRuleResultOutput) Protocol() GetSecurityGroupRuleProt return o.ApplyT(func(v LookupSecurityGroupRuleResult) GetSecurityGroupRuleProtocol { return v.Protocol }).(GetSecurityGroupRuleProtocolOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupSecurityGroupRuleResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSecurityGroupRuleResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The remote security group which the rule should match. func (o LookupSecurityGroupRuleResultOutput) RemoteSecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v LookupSecurityGroupRuleResult) string { return v.RemoteSecurityGroupId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getServer.go b/sdk/go/stackit/getServer.go index 3648468..2afe66d 100644 --- a/sdk/go/stackit/getServer.go +++ b/sdk/go/stackit/getServer.go @@ -28,6 +28,8 @@ func LookupServer(ctx *pulumi.Context, args *LookupServerArgs, opts ...pulumi.In type LookupServerArgs struct { // STACKIT project ID to which the server is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId string `pulumi:"serverId"` } @@ -51,7 +53,7 @@ type LookupServerResult struct { Labels map[string]string `pulumi:"labels"` // Date-time when the server was launched LaunchedAt string `pulumi:"launchedAt"` - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType string `pulumi:"machineType"` // The name of the server. Name string `pulumi:"name"` @@ -59,6 +61,8 @@ type LookupServerResult struct { NetworkInterfaces []string `pulumi:"networkInterfaces"` // STACKIT project ID to which the server is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId string `pulumi:"serverId"` // Date-time when the server was updated @@ -80,6 +84,8 @@ func LookupServerOutput(ctx *pulumi.Context, args LookupServerOutputArgs, opts . type LookupServerOutputArgs struct { // STACKIT project ID to which the server is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` // The server ID. ServerId pulumi.StringInput `pulumi:"serverId"` } @@ -147,7 +153,7 @@ func (o LookupServerResultOutput) LaunchedAt() pulumi.StringOutput { return o.ApplyT(func(v LookupServerResult) string { return v.LaunchedAt }).(pulumi.StringOutput) } -// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) +// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) func (o LookupServerResultOutput) MachineType() pulumi.StringOutput { return o.ApplyT(func(v LookupServerResult) string { return v.MachineType }).(pulumi.StringOutput) } @@ -167,6 +173,11 @@ func (o LookupServerResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupServerResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupServerResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupServerResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The server ID. func (o LookupServerResultOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v LookupServerResult) string { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getSfsExportPolicy.go b/sdk/go/stackit/getSfsExportPolicy.go new file mode 100644 index 0000000..9bc6a97 --- /dev/null +++ b/sdk/go/stackit/getSfsExportPolicy.go @@ -0,0 +1,121 @@ +// 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" +) + +// SFS export policy datasource schema. Must have a `region` specified in the provider configuration. +// +// > 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 LookupSfsExportPolicy(ctx *pulumi.Context, args *LookupSfsExportPolicyArgs, opts ...pulumi.InvokeOption) (*LookupSfsExportPolicyResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSfsExportPolicyResult + err := ctx.Invoke("stackit:index/getSfsExportPolicy:getSfsExportPolicy", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSfsExportPolicy. +type LookupSfsExportPolicyArgs struct { + // Export policy ID + PolicyId string `pulumi:"policyId"` + // STACKIT project ID to which the export policy is 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 getSfsExportPolicy. +type LookupSfsExportPolicyResult struct { + Id string `pulumi:"id"` + // Name of the export policy. + Name string `pulumi:"name"` + // Export policy ID + PolicyId string `pulumi:"policyId"` + // STACKIT project ID to which the export policy is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region string `pulumi:"region"` + Rules []GetSfsExportPolicyRule `pulumi:"rules"` +} + +func LookupSfsExportPolicyOutput(ctx *pulumi.Context, args LookupSfsExportPolicyOutputArgs, opts ...pulumi.InvokeOption) LookupSfsExportPolicyResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupSfsExportPolicyResultOutput, error) { + args := v.(LookupSfsExportPolicyArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSfsExportPolicy:getSfsExportPolicy", args, LookupSfsExportPolicyResultOutput{}, options).(LookupSfsExportPolicyResultOutput), nil + }).(LookupSfsExportPolicyResultOutput) +} + +// A collection of arguments for invoking getSfsExportPolicy. +type LookupSfsExportPolicyOutputArgs struct { + // Export policy ID + PolicyId pulumi.StringInput `pulumi:"policyId"` + // STACKIT project ID to which the export policy is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupSfsExportPolicyOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsExportPolicyArgs)(nil)).Elem() +} + +// A collection of values returned by getSfsExportPolicy. +type LookupSfsExportPolicyResultOutput struct{ *pulumi.OutputState } + +func (LookupSfsExportPolicyResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsExportPolicyResult)(nil)).Elem() +} + +func (o LookupSfsExportPolicyResultOutput) ToLookupSfsExportPolicyResultOutput() LookupSfsExportPolicyResultOutput { + return o +} + +func (o LookupSfsExportPolicyResultOutput) ToLookupSfsExportPolicyResultOutputWithContext(ctx context.Context) LookupSfsExportPolicyResultOutput { + return o +} + +func (o LookupSfsExportPolicyResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Name of the export policy. +func (o LookupSfsExportPolicyResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Export policy ID +func (o LookupSfsExportPolicyResultOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.PolicyId }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the export policy is associated. +func (o LookupSfsExportPolicyResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o LookupSfsExportPolicyResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.Region }).(pulumi.StringOutput) +} + +func (o LookupSfsExportPolicyResultOutput) Rules() GetSfsExportPolicyRuleArrayOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) []GetSfsExportPolicyRule { return v.Rules }).(GetSfsExportPolicyRuleArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSfsExportPolicyResultOutput{}) +} diff --git a/sdk/go/stackit/getSfsResourcePool.go b/sdk/go/stackit/getSfsResourcePool.go new file mode 100644 index 0000000..4a4ada7 --- /dev/null +++ b/sdk/go/stackit/getSfsResourcePool.go @@ -0,0 +1,165 @@ +// 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" +) + +// Resource-pool datasource schema. Must have a `region` specified in the provider configuration. +// +// > 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 LookupSfsResourcePool(ctx *pulumi.Context, args *LookupSfsResourcePoolArgs, opts ...pulumi.InvokeOption) (*LookupSfsResourcePoolResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSfsResourcePoolResult + err := ctx.Invoke("stackit:index/getSfsResourcePool:getSfsResourcePool", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSfsResourcePool. +type LookupSfsResourcePoolArgs struct { + // STACKIT project ID to which the resource pool is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // Resourcepool ID + ResourcePoolId string `pulumi:"resourcePoolId"` +} + +// A collection of values returned by getSfsResourcePool. +type LookupSfsResourcePoolResult struct { + // Availability zone. + AvailabilityZone string `pulumi:"availabilityZone"` + Id string `pulumi:"id"` + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Name of the resource pool. + Name string `pulumi:"name"` + // Name of the performance class. + PerformanceClass string `pulumi:"performanceClass"` + // Time when the performance class can be downgraded again. + PerformanceClassDowngradableAt string `pulumi:"performanceClassDowngradableAt"` + // STACKIT project ID to which the resource pool is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // Resourcepool ID + ResourcePoolId string `pulumi:"resourcePoolId"` + // Size of the resource pool (unit: gigabytes) + SizeGigabytes int `pulumi:"sizeGigabytes"` + // Time when the size can be reduced again. + SizeReducibleAt string `pulumi:"sizeReducibleAt"` + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible bool `pulumi:"snapshotsAreVisible"` +} + +func LookupSfsResourcePoolOutput(ctx *pulumi.Context, args LookupSfsResourcePoolOutputArgs, opts ...pulumi.InvokeOption) LookupSfsResourcePoolResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupSfsResourcePoolResultOutput, error) { + args := v.(LookupSfsResourcePoolArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSfsResourcePool:getSfsResourcePool", args, LookupSfsResourcePoolResultOutput{}, options).(LookupSfsResourcePoolResultOutput), nil + }).(LookupSfsResourcePoolResultOutput) +} + +// A collection of arguments for invoking getSfsResourcePool. +type LookupSfsResourcePoolOutputArgs struct { + // STACKIT project ID to which the resource pool is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region pulumi.StringPtrInput `pulumi:"region"` + // Resourcepool ID + ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` +} + +func (LookupSfsResourcePoolOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsResourcePoolArgs)(nil)).Elem() +} + +// A collection of values returned by getSfsResourcePool. +type LookupSfsResourcePoolResultOutput struct{ *pulumi.OutputState } + +func (LookupSfsResourcePoolResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsResourcePoolResult)(nil)).Elem() +} + +func (o LookupSfsResourcePoolResultOutput) ToLookupSfsResourcePoolResultOutput() LookupSfsResourcePoolResultOutput { + return o +} + +func (o LookupSfsResourcePoolResultOutput) ToLookupSfsResourcePoolResultOutputWithContext(ctx context.Context) LookupSfsResourcePoolResultOutput { + return o +} + +// Availability zone. +func (o LookupSfsResourcePoolResultOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +func (o LookupSfsResourcePoolResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.Id }).(pulumi.StringOutput) +} + +// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o LookupSfsResourcePoolResultOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) []string { return v.IpAcls }).(pulumi.StringArrayOutput) +} + +// Name of the resource pool. +func (o LookupSfsResourcePoolResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.Name }).(pulumi.StringOutput) +} + +// Name of the performance class. +func (o LookupSfsResourcePoolResultOutput) PerformanceClass() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.PerformanceClass }).(pulumi.StringOutput) +} + +// Time when the performance class can be downgraded again. +func (o LookupSfsResourcePoolResultOutput) PerformanceClassDowngradableAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.PerformanceClassDowngradableAt }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the resource pool is associated. +func (o LookupSfsResourcePoolResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. Read-only attribute that reflects the provider region. +func (o LookupSfsResourcePoolResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resourcepool ID +func (o LookupSfsResourcePoolResultOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// Size of the resource pool (unit: gigabytes) +func (o LookupSfsResourcePoolResultOutput) SizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) int { return v.SizeGigabytes }).(pulumi.IntOutput) +} + +// Time when the size can be reduced again. +func (o LookupSfsResourcePoolResultOutput) SizeReducibleAt() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.SizeReducibleAt }).(pulumi.StringOutput) +} + +// If set to true, snapshots are visible and accessible to users. (default: false) +func (o LookupSfsResourcePoolResultOutput) SnapshotsAreVisible() pulumi.BoolOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) bool { return v.SnapshotsAreVisible }).(pulumi.BoolOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSfsResourcePoolResultOutput{}) +} diff --git a/sdk/go/stackit/getSfsResourcePoolSnapshot.go b/sdk/go/stackit/getSfsResourcePoolSnapshot.go new file mode 100644 index 0000000..6a67097 --- /dev/null +++ b/sdk/go/stackit/getSfsResourcePoolSnapshot.go @@ -0,0 +1,116 @@ +// 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" +) + +// Resource-pool datasource schema. Must have a `region` specified in the provider configuration. +// +// > 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 GetSfsResourcePoolSnapshot(ctx *pulumi.Context, args *GetSfsResourcePoolSnapshotArgs, opts ...pulumi.InvokeOption) (*GetSfsResourcePoolSnapshotResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetSfsResourcePoolSnapshotResult + err := ctx.Invoke("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSfsResourcePoolSnapshot. +type GetSfsResourcePoolSnapshotArgs struct { + // STACKIT project ID to which the resource pool snapshot is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // Resource pool ID + ResourcePoolId string `pulumi:"resourcePoolId"` +} + +// A collection of values returned by getSfsResourcePoolSnapshot. +type GetSfsResourcePoolSnapshotResult struct { + Id string `pulumi:"id"` + // STACKIT project ID to which the resource pool snapshot is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // Resource pool ID + ResourcePoolId string `pulumi:"resourcePoolId"` + // Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + Snapshots []GetSfsResourcePoolSnapshotSnapshot `pulumi:"snapshots"` +} + +func GetSfsResourcePoolSnapshotOutput(ctx *pulumi.Context, args GetSfsResourcePoolSnapshotOutputArgs, opts ...pulumi.InvokeOption) GetSfsResourcePoolSnapshotResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetSfsResourcePoolSnapshotResultOutput, error) { + args := v.(GetSfsResourcePoolSnapshotArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", args, GetSfsResourcePoolSnapshotResultOutput{}, options).(GetSfsResourcePoolSnapshotResultOutput), nil + }).(GetSfsResourcePoolSnapshotResultOutput) +} + +// A collection of arguments for invoking getSfsResourcePoolSnapshot. +type GetSfsResourcePoolSnapshotOutputArgs struct { + // STACKIT project ID to which the resource pool snapshot is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region pulumi.StringPtrInput `pulumi:"region"` + // Resource pool ID + ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` +} + +func (GetSfsResourcePoolSnapshotOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotArgs)(nil)).Elem() +} + +// A collection of values returned by getSfsResourcePoolSnapshot. +type GetSfsResourcePoolSnapshotResultOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotResult)(nil)).Elem() +} + +func (o GetSfsResourcePoolSnapshotResultOutput) ToGetSfsResourcePoolSnapshotResultOutput() GetSfsResourcePoolSnapshotResultOutput { + return o +} + +func (o GetSfsResourcePoolSnapshotResultOutput) ToGetSfsResourcePoolSnapshotResultOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotResultOutput { + return o +} + +func (o GetSfsResourcePoolSnapshotResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotResult) string { return v.Id }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the resource pool snapshot is associated. +func (o GetSfsResourcePoolSnapshotResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. Read-only attribute that reflects the provider region. +func (o GetSfsResourcePoolSnapshotResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// Resource pool ID +func (o GetSfsResourcePoolSnapshotResultOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotResult) string { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// Resource-pool datasource schema. Must have a `region` specified in the provider configuration. +func (o GetSfsResourcePoolSnapshotResultOutput) Snapshots() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotResult) []GetSfsResourcePoolSnapshotSnapshot { return v.Snapshots }).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetSfsResourcePoolSnapshotResultOutput{}) +} diff --git a/sdk/go/stackit/getSfsShare.go b/sdk/go/stackit/getSfsShare.go new file mode 100644 index 0000000..53b0fd8 --- /dev/null +++ b/sdk/go/stackit/getSfsShare.go @@ -0,0 +1,159 @@ +// 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" +) + +// SFS Share schema. Must have a `region` specified in the provider configuration. +// +// > 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 LookupSfsShare(ctx *pulumi.Context, args *LookupSfsShareArgs, opts ...pulumi.InvokeOption) (*LookupSfsShareResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupSfsShareResult + err := ctx.Invoke("stackit:index/getSfsShare:getSfsShare", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getSfsShare. +type LookupSfsShareArgs struct { + // STACKIT project ID to which the share is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId string `pulumi:"resourcePoolId"` + // share ID + ShareId string `pulumi:"shareId"` +} + +// A collection of values returned by getSfsShare. +type LookupSfsShareResult struct { + // Name of the Share Export Policy to use in the Share. + // Note that if this is not set, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy string `pulumi:"exportPolicy"` + Id string `pulumi:"id"` + // Mount path of the Share, used to mount the Share + MountPath string `pulumi:"mountPath"` + // Name of the Share + Name string `pulumi:"name"` + // STACKIT project ID to which the share is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region *string `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId string `pulumi:"resourcePoolId"` + // share ID + ShareId string `pulumi:"shareId"` + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes int `pulumi:"spaceHardLimitGigabytes"` +} + +func LookupSfsShareOutput(ctx *pulumi.Context, args LookupSfsShareOutputArgs, opts ...pulumi.InvokeOption) LookupSfsShareResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupSfsShareResultOutput, error) { + args := v.(LookupSfsShareArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getSfsShare:getSfsShare", args, LookupSfsShareResultOutput{}, options).(LookupSfsShareResultOutput), nil + }).(LookupSfsShareResultOutput) +} + +// A collection of arguments for invoking getSfsShare. +type LookupSfsShareOutputArgs struct { + // STACKIT project ID to which the share is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. Read-only attribute that reflects the provider region. + Region pulumi.StringPtrInput `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` + // share ID + ShareId pulumi.StringInput `pulumi:"shareId"` +} + +func (LookupSfsShareOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsShareArgs)(nil)).Elem() +} + +// A collection of values returned by getSfsShare. +type LookupSfsShareResultOutput struct{ *pulumi.OutputState } + +func (LookupSfsShareResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupSfsShareResult)(nil)).Elem() +} + +func (o LookupSfsShareResultOutput) ToLookupSfsShareResultOutput() LookupSfsShareResultOutput { + return o +} + +func (o LookupSfsShareResultOutput) ToLookupSfsShareResultOutputWithContext(ctx context.Context) LookupSfsShareResultOutput { + return o +} + +// Name of the Share Export Policy to use in the Share. +// Note that if this is not set, the Share can only be mounted in read only by +// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. +// You can also assign a Share Export Policy after creating the Share +func (o LookupSfsShareResultOutput) ExportPolicy() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.ExportPolicy }).(pulumi.StringOutput) +} + +func (o LookupSfsShareResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Mount path of the Share, used to mount the Share +func (o LookupSfsShareResultOutput) MountPath() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.MountPath }).(pulumi.StringOutput) +} + +// Name of the Share +func (o LookupSfsShareResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the share is associated. +func (o LookupSfsShareResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. Read-only attribute that reflects the provider region. +func (o LookupSfsShareResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupSfsShareResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// The ID of the resource pool for the SFS share. +func (o LookupSfsShareResultOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// share ID +func (o LookupSfsShareResultOutput) ShareId() pulumi.StringOutput { + return o.ApplyT(func(v LookupSfsShareResult) string { return v.ShareId }).(pulumi.StringOutput) +} + +// Space hard limit for the Share. +// +// If zero, the Share will have access to the full space of the Resource Pool it lives in. +// (unit: gigabytes) +func (o LookupSfsShareResultOutput) SpaceHardLimitGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v LookupSfsShareResult) int { return v.SpaceHardLimitGigabytes }).(pulumi.IntOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupSfsShareResultOutput{}) +} diff --git a/sdk/go/stackit/getSkeCluster.go b/sdk/go/stackit/getSkeCluster.go index fac208c..c923c89 100644 --- a/sdk/go/stackit/getSkeCluster.go +++ b/sdk/go/stackit/getSkeCluster.go @@ -43,7 +43,7 @@ type LookupSkeClusterResult struct { // One or more hibernation block as defined below. Hibernations []GetSkeClusterHibernation `pulumi:"hibernations"` Id string `pulumi:"id"` - // The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. + // The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. KubernetesVersionMin string `pulumi:"kubernetesVersionMin"` // Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15` KubernetesVersionUsed string `pulumi:"kubernetesVersionUsed"` @@ -120,7 +120,7 @@ func (o LookupSkeClusterResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSkeClusterResult) string { return v.Id }).(pulumi.StringOutput) } -// The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. +// The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. func (o LookupSkeClusterResultOutput) KubernetesVersionMin() pulumi.StringOutput { return o.ApplyT(func(v LookupSkeClusterResult) string { return v.KubernetesVersionMin }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getVolume.go b/sdk/go/stackit/getVolume.go index 2d2a95d..39b9fab 100644 --- a/sdk/go/stackit/getVolume.go +++ b/sdk/go/stackit/getVolume.go @@ -28,6 +28,8 @@ func LookupVolume(ctx *pulumi.Context, args *LookupVolumeArgs, opts ...pulumi.In type LookupVolumeArgs struct { // STACKIT project ID to which the volume is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The volume ID. VolumeId string `pulumi:"volumeId"` } @@ -43,10 +45,12 @@ type LookupVolumeResult struct { Labels map[string]string `pulumi:"labels"` // The name of the volume. Name string `pulumi:"name"` - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass string `pulumi:"performanceClass"` // STACKIT project ID to which the volume is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID of the server to which the volume is attached to. ServerId string `pulumi:"serverId"` // The size of the volume in GB. It can only be updated to a larger value than the current size @@ -70,6 +74,8 @@ func LookupVolumeOutput(ctx *pulumi.Context, args LookupVolumeOutputArgs, opts . type LookupVolumeOutputArgs struct { // STACKIT project ID to which the volume is associated. ProjectId pulumi.StringInput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` // The volume ID. VolumeId pulumi.StringInput `pulumi:"volumeId"` } @@ -117,7 +123,7 @@ func (o LookupVolumeResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.Name }).(pulumi.StringOutput) } -// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) +// 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) func (o LookupVolumeResultOutput) PerformanceClass() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.PerformanceClass }).(pulumi.StringOutput) } @@ -127,6 +133,11 @@ func (o LookupVolumeResultOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o LookupVolumeResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupVolumeResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + // The server ID of the server to which the volume is attached to. func (o LookupVolumeResultOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v LookupVolumeResult) string { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/image.go b/sdk/go/stackit/image.go index a6bf30f..54a31de 100644 --- a/sdk/go/stackit/image.go +++ b/sdk/go/stackit/image.go @@ -40,6 +40,8 @@ type Image struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // Whether the image is protected. Protected pulumi.BoolOutput `pulumi:"protected"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The scope of the image. Scope pulumi.StringOutput `pulumi:"scope"` } @@ -105,6 +107,8 @@ type imageState struct { ProjectId *string `pulumi:"projectId"` // Whether the image is protected. Protected *bool `pulumi:"protected"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The scope of the image. Scope *string `pulumi:"scope"` } @@ -132,6 +136,8 @@ type ImageState struct { ProjectId pulumi.StringPtrInput // Whether the image is protected. Protected pulumi.BoolPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The scope of the image. Scope pulumi.StringPtrInput } @@ -157,6 +163,8 @@ type imageArgs struct { Name *string `pulumi:"name"` // STACKIT project ID to which the image is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a Image resource. @@ -177,6 +185,8 @@ type ImageArgs struct { Name pulumi.StringPtrInput // STACKIT project ID to which the image is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (ImageArgs) ElementType() reflect.Type { @@ -321,6 +331,11 @@ func (o ImageOutput) Protected() pulumi.BoolOutput { return o.ApplyT(func(v *Image) pulumi.BoolOutput { return v.Protected }).(pulumi.BoolOutput) } +// The resource region. If not defined, the provider region is used. +func (o ImageOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *Image) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The scope of the image. func (o ImageOutput) Scope() pulumi.StringOutput { return o.ApplyT(func(v *Image) pulumi.StringOutput { return v.Scope }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index b410f66..486f516 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -69,6 +69,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &Network{} case "stackit:index/networkArea:NetworkArea": r = &NetworkArea{} + case "stackit:index/networkAreaRegion:NetworkAreaRegion": + r = &NetworkAreaRegion{} case "stackit:index/networkAreaRoute:NetworkAreaRoute": r = &NetworkAreaRoute{} case "stackit:index/networkInterface:NetworkInterface": @@ -149,6 +151,12 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &ServiceAccountAccessToken{} case "stackit:index/serviceAccountKey:ServiceAccountKey": r = &ServiceAccountKey{} + case "stackit:index/sfsExportPolicy:SfsExportPolicy": + r = &SfsExportPolicy{} + case "stackit:index/sfsResourcePool:SfsResourcePool": + r = &SfsResourcePool{} + case "stackit:index/sfsShare:SfsShare": + r = &SfsShare{} case "stackit:index/skeCluster:SkeCluster": r = &SkeCluster{} case "stackit:index/skeKubeconfig:SkeKubeconfig": @@ -310,6 +318,11 @@ func init() { "index/networkArea", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/networkAreaRegion", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/networkAreaRoute", @@ -510,6 +523,21 @@ func init() { "index/serviceAccountKey", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/sfsExportPolicy", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/sfsResourcePool", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/sfsShare", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/skeCluster", diff --git a/sdk/go/stackit/network.go b/sdk/go/stackit/network.go index fa42ecf..ffe73b3 100644 --- a/sdk/go/stackit/network.go +++ b/sdk/go/stackit/network.go @@ -63,12 +63,10 @@ type Network struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The public IP of the network. PublicIp pulumi.StringOutput `pulumi:"publicIp"` - // Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` // If set to `true`, the network is routed and therefore accessible from other networks. Routed pulumi.BoolOutput `pulumi:"routed"` - // Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. RoutingTableId pulumi.StringOutput `pulumi:"routingTableId"` } @@ -148,12 +146,10 @@ type networkState struct { ProjectId *string `pulumi:"projectId"` // The public IP of the network. PublicIp *string `pulumi:"publicIp"` - // Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` // If set to `true`, the network is routed and therefore accessible from other networks. Routed *bool `pulumi:"routed"` - // Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. RoutingTableId *string `pulumi:"routingTableId"` } @@ -201,12 +197,10 @@ type NetworkState struct { ProjectId pulumi.StringPtrInput // The public IP of the network. PublicIp pulumi.StringPtrInput - // Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput // If set to `true`, the network is routed and therefore accessible from other networks. Routed pulumi.BoolPtrInput - // Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. RoutingTableId pulumi.StringPtrInput } @@ -246,12 +240,10 @@ type networkArgs struct { NoIpv6Gateway *bool `pulumi:"noIpv6Gateway"` // STACKIT project ID to which the network is associated. ProjectId string `pulumi:"projectId"` - // Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` // If set to `true`, the network is routed and therefore accessible from other networks. Routed *bool `pulumi:"routed"` - // Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. RoutingTableId *string `pulumi:"routingTableId"` } @@ -288,12 +280,10 @@ type NetworkArgs struct { NoIpv6Gateway pulumi.BoolPtrInput // STACKIT project ID to which the network is associated. ProjectId pulumi.StringInput - // Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput // If set to `true`, the network is routed and therefore accessible from other networks. Routed pulumi.BoolPtrInput - // Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. RoutingTableId pulumi.StringPtrInput } @@ -484,7 +474,6 @@ func (o NetworkOutput) PublicIp() pulumi.StringOutput { return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.PublicIp }).(pulumi.StringOutput) } -// Can only be used when experimental "network" is set. // The resource region. If not defined, the provider region is used. func (o NetworkOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) @@ -495,7 +484,6 @@ func (o NetworkOutput) Routed() pulumi.BoolOutput { return o.ApplyT(func(v *Network) pulumi.BoolOutput { return v.Routed }).(pulumi.BoolOutput) } -// Can only be used when experimental "network" is set. // The ID of the routing table associated with the network. func (o NetworkOutput) RoutingTableId() pulumi.StringOutput { return o.ApplyT(func(v *Network) pulumi.StringOutput { return v.RoutingTableId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/networkArea.go b/sdk/go/stackit/networkArea.go index ba4d412..8125b0f 100644 --- a/sdk/go/stackit/networkArea.go +++ b/sdk/go/stackit/networkArea.go @@ -12,34 +12,46 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Network area resource schema. Must have a `region` specified in the provider configuration. +// Network area resource schema. // // ## Example Usage type NetworkArea struct { pulumi.CustomResourceState - // List of DNS Servers/Nameservers. + // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultNameservers pulumi.StringArrayOutput `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. + // The default prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultPrefixLength pulumi.IntOutput `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` - // The maximal prefix length for networks in the network area. + // The maximal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MaxPrefixLength pulumi.IntOutput `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. + // The minimal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MinPrefixLength pulumi.IntOutput `pulumi:"minPrefixLength"` // The name of the network area. Name pulumi.StringOutput `pulumi:"name"` // The network area ID. NetworkAreaId pulumi.StringOutput `pulumi:"networkAreaId"` - // List of Network ranges. + // List of Network ranges for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRanges NetworkAreaNetworkRangeArrayOutput `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringOutput `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount pulumi.IntOutput `pulumi:"projectCount"` - // Classless Inter-Domain Routing (CIDR). - TransferNetwork pulumi.StringOutput `pulumi:"transferNetwork"` + // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + TransferNetwork pulumi.StringPtrOutput `pulumi:"transferNetwork"` } // NewNetworkArea registers a new resource with the given unique name, arguments, and options. @@ -49,15 +61,9 @@ func NewNetworkArea(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } - if args.NetworkRanges == nil { - return nil, errors.New("invalid value for required argument 'NetworkRanges'") - } if args.OrganizationId == nil { return nil, errors.New("invalid value for required argument 'OrganizationId'") } - if args.TransferNetwork == nil { - return nil, errors.New("invalid value for required argument 'TransferNetwork'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource NetworkArea err := ctx.RegisterResource("stackit:index/networkArea:NetworkArea", name, args, &resource, opts...) @@ -81,52 +87,76 @@ func GetNetworkArea(ctx *pulumi.Context, // Input properties used for looking up and filtering NetworkArea resources. type networkAreaState struct { - // List of DNS Servers/Nameservers. + // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. + // The default prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // The maximal prefix length for networks in the network area. + // The maximal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MaxPrefixLength *int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. + // The minimal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MinPrefixLength *int `pulumi:"minPrefixLength"` // The name of the network area. Name *string `pulumi:"name"` // The network area ID. NetworkAreaId *string `pulumi:"networkAreaId"` - // List of Network ranges. + // List of Network ranges for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRanges []NetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId *string `pulumi:"organizationId"` // The amount of projects currently referencing this area. ProjectCount *int `pulumi:"projectCount"` - // Classless Inter-Domain Routing (CIDR). + // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. TransferNetwork *string `pulumi:"transferNetwork"` } type NetworkAreaState struct { - // List of DNS Servers/Nameservers. + // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultNameservers pulumi.StringArrayInput - // The default prefix length for networks in the network area. + // The default prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultPrefixLength pulumi.IntPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput - // The maximal prefix length for networks in the network area. + // The maximal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MaxPrefixLength pulumi.IntPtrInput - // The minimal prefix length for networks in the network area. + // The minimal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MinPrefixLength pulumi.IntPtrInput // The name of the network area. Name pulumi.StringPtrInput // The network area ID. NetworkAreaId pulumi.StringPtrInput - // List of Network ranges. + // List of Network ranges for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRanges NetworkAreaNetworkRangeArrayInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringPtrInput // The amount of projects currently referencing this area. ProjectCount pulumi.IntPtrInput - // Classless Inter-Domain Routing (CIDR). + // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. TransferNetwork pulumi.StringPtrInput } @@ -135,46 +165,70 @@ func (NetworkAreaState) ElementType() reflect.Type { } type networkAreaArgs struct { - // List of DNS Servers/Nameservers. + // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. + // The default prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // The maximal prefix length for networks in the network area. + // The maximal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MaxPrefixLength *int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. + // The minimal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MinPrefixLength *int `pulumi:"minPrefixLength"` // The name of the network area. Name *string `pulumi:"name"` - // List of Network ranges. + // List of Network ranges for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRanges []NetworkAreaNetworkRange `pulumi:"networkRanges"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` - // Classless Inter-Domain Routing (CIDR). - TransferNetwork string `pulumi:"transferNetwork"` + // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + TransferNetwork *string `pulumi:"transferNetwork"` } // The set of arguments for constructing a NetworkArea resource. type NetworkAreaArgs struct { - // List of DNS Servers/Nameservers. + // List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultNameservers pulumi.StringArrayInput - // The default prefix length for networks in the network area. + // The default prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. DefaultPrefixLength pulumi.IntPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput - // The maximal prefix length for networks in the network area. + // The maximal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MaxPrefixLength pulumi.IntPtrInput - // The minimal prefix length for networks in the network area. + // The minimal prefix length for networks in the network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. MinPrefixLength pulumi.IntPtrInput // The name of the network area. Name pulumi.StringPtrInput - // List of Network ranges. + // List of Network ranges for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRanges NetworkAreaNetworkRangeArrayInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringInput - // Classless Inter-Domain Routing (CIDR). - TransferNetwork pulumi.StringInput + // Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + TransferNetwork pulumi.StringPtrInput } func (NetworkAreaArgs) ElementType() reflect.Type { @@ -264,12 +318,16 @@ func (o NetworkAreaOutput) ToNetworkAreaOutputWithContext(ctx context.Context) N return o } -// List of DNS Servers/Nameservers. +// List of DNS Servers/Nameservers for configuration of network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaOutput) DefaultNameservers() pulumi.StringArrayOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringArrayOutput { return v.DefaultNameservers }).(pulumi.StringArrayOutput) } -// The default prefix length for networks in the network area. +// The default prefix length for networks in the network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaOutput) DefaultPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.DefaultPrefixLength }).(pulumi.IntOutput) } @@ -279,12 +337,16 @@ func (o NetworkAreaOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) } -// The maximal prefix length for networks in the network area. +// The maximal prefix length for networks in the network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaOutput) MaxPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.MaxPrefixLength }).(pulumi.IntOutput) } -// The minimal prefix length for networks in the network area. +// The minimal prefix length for networks in the network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaOutput) MinPrefixLength() pulumi.IntOutput { return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.MinPrefixLength }).(pulumi.IntOutput) } @@ -299,7 +361,9 @@ func (o NetworkAreaOutput) NetworkAreaId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkArea) pulumi.StringOutput { return v.NetworkAreaId }).(pulumi.StringOutput) } -// List of Network ranges. +// List of Network ranges for configuration of network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaOutput) NetworkRanges() NetworkAreaNetworkRangeArrayOutput { return o.ApplyT(func(v *NetworkArea) NetworkAreaNetworkRangeArrayOutput { return v.NetworkRanges }).(NetworkAreaNetworkRangeArrayOutput) } @@ -314,9 +378,11 @@ func (o NetworkAreaOutput) ProjectCount() pulumi.IntOutput { return o.ApplyT(func(v *NetworkArea) pulumi.IntOutput { return v.ProjectCount }).(pulumi.IntOutput) } -// Classless Inter-Domain Routing (CIDR). -func (o NetworkAreaOutput) TransferNetwork() pulumi.StringOutput { - return o.ApplyT(func(v *NetworkArea) pulumi.StringOutput { return v.TransferNetwork }).(pulumi.StringOutput) +// Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. +func (o NetworkAreaOutput) TransferNetwork() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkArea) pulumi.StringPtrOutput { return v.TransferNetwork }).(pulumi.StringPtrOutput) } type NetworkAreaArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/stackit/networkAreaRegion.go b/sdk/go/stackit/networkAreaRegion.go new file mode 100644 index 0000000..5d0ef78 --- /dev/null +++ b/sdk/go/stackit/networkAreaRegion.go @@ -0,0 +1,272 @@ +// 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" +) + +// Network area region resource schema. +// +// ## Example Usage +type NetworkAreaRegion struct { + pulumi.CustomResourceState + + // The regional IPv4 config of a network area. + Ipv4 NetworkAreaRegionIpv4Output `pulumi:"ipv4"` + // The network area ID. + NetworkAreaId pulumi.StringOutput `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId pulumi.StringOutput `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` +} + +// NewNetworkAreaRegion registers a new resource with the given unique name, arguments, and options. +func NewNetworkAreaRegion(ctx *pulumi.Context, + name string, args *NetworkAreaRegionArgs, opts ...pulumi.ResourceOption) (*NetworkAreaRegion, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Ipv4 == nil { + return nil, errors.New("invalid value for required argument 'Ipv4'") + } + if args.NetworkAreaId == nil { + return nil, errors.New("invalid value for required argument 'NetworkAreaId'") + } + if args.OrganizationId == nil { + return nil, errors.New("invalid value for required argument 'OrganizationId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource NetworkAreaRegion + err := ctx.RegisterResource("stackit:index/networkAreaRegion:NetworkAreaRegion", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetNetworkAreaRegion gets an existing NetworkAreaRegion 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 GetNetworkAreaRegion(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *NetworkAreaRegionState, opts ...pulumi.ResourceOption) (*NetworkAreaRegion, error) { + var resource NetworkAreaRegion + err := ctx.ReadResource("stackit:index/networkAreaRegion:NetworkAreaRegion", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering NetworkAreaRegion resources. +type networkAreaRegionState struct { + // The regional IPv4 config of a network area. + Ipv4 *NetworkAreaRegionIpv4 `pulumi:"ipv4"` + // The network area ID. + NetworkAreaId *string `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId *string `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +type NetworkAreaRegionState struct { + // The regional IPv4 config of a network area. + Ipv4 NetworkAreaRegionIpv4PtrInput + // The network area ID. + NetworkAreaId pulumi.StringPtrInput + // STACKIT organization ID to which the network area is associated. + OrganizationId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (NetworkAreaRegionState) ElementType() reflect.Type { + return reflect.TypeOf((*networkAreaRegionState)(nil)).Elem() +} + +type networkAreaRegionArgs struct { + // The regional IPv4 config of a network area. + Ipv4 NetworkAreaRegionIpv4 `pulumi:"ipv4"` + // The network area ID. + NetworkAreaId string `pulumi:"networkAreaId"` + // STACKIT organization ID to which the network area is associated. + OrganizationId string `pulumi:"organizationId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a NetworkAreaRegion resource. +type NetworkAreaRegionArgs struct { + // The regional IPv4 config of a network area. + Ipv4 NetworkAreaRegionIpv4Input + // The network area ID. + NetworkAreaId pulumi.StringInput + // STACKIT organization ID to which the network area is associated. + OrganizationId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (NetworkAreaRegionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*networkAreaRegionArgs)(nil)).Elem() +} + +type NetworkAreaRegionInput interface { + pulumi.Input + + ToNetworkAreaRegionOutput() NetworkAreaRegionOutput + ToNetworkAreaRegionOutputWithContext(ctx context.Context) NetworkAreaRegionOutput +} + +func (*NetworkAreaRegion) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegion)(nil)).Elem() +} + +func (i *NetworkAreaRegion) ToNetworkAreaRegionOutput() NetworkAreaRegionOutput { + return i.ToNetworkAreaRegionOutputWithContext(context.Background()) +} + +func (i *NetworkAreaRegion) ToNetworkAreaRegionOutputWithContext(ctx context.Context) NetworkAreaRegionOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionOutput) +} + +// NetworkAreaRegionArrayInput is an input type that accepts NetworkAreaRegionArray and NetworkAreaRegionArrayOutput values. +// You can construct a concrete instance of `NetworkAreaRegionArrayInput` via: +// +// NetworkAreaRegionArray{ NetworkAreaRegionArgs{...} } +type NetworkAreaRegionArrayInput interface { + pulumi.Input + + ToNetworkAreaRegionArrayOutput() NetworkAreaRegionArrayOutput + ToNetworkAreaRegionArrayOutputWithContext(context.Context) NetworkAreaRegionArrayOutput +} + +type NetworkAreaRegionArray []NetworkAreaRegionInput + +func (NetworkAreaRegionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NetworkAreaRegion)(nil)).Elem() +} + +func (i NetworkAreaRegionArray) ToNetworkAreaRegionArrayOutput() NetworkAreaRegionArrayOutput { + return i.ToNetworkAreaRegionArrayOutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionArray) ToNetworkAreaRegionArrayOutputWithContext(ctx context.Context) NetworkAreaRegionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionArrayOutput) +} + +// NetworkAreaRegionMapInput is an input type that accepts NetworkAreaRegionMap and NetworkAreaRegionMapOutput values. +// You can construct a concrete instance of `NetworkAreaRegionMapInput` via: +// +// NetworkAreaRegionMap{ "key": NetworkAreaRegionArgs{...} } +type NetworkAreaRegionMapInput interface { + pulumi.Input + + ToNetworkAreaRegionMapOutput() NetworkAreaRegionMapOutput + ToNetworkAreaRegionMapOutputWithContext(context.Context) NetworkAreaRegionMapOutput +} + +type NetworkAreaRegionMap map[string]NetworkAreaRegionInput + +func (NetworkAreaRegionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NetworkAreaRegion)(nil)).Elem() +} + +func (i NetworkAreaRegionMap) ToNetworkAreaRegionMapOutput() NetworkAreaRegionMapOutput { + return i.ToNetworkAreaRegionMapOutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionMap) ToNetworkAreaRegionMapOutputWithContext(ctx context.Context) NetworkAreaRegionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionMapOutput) +} + +type NetworkAreaRegionOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegion)(nil)).Elem() +} + +func (o NetworkAreaRegionOutput) ToNetworkAreaRegionOutput() NetworkAreaRegionOutput { + return o +} + +func (o NetworkAreaRegionOutput) ToNetworkAreaRegionOutputWithContext(ctx context.Context) NetworkAreaRegionOutput { + return o +} + +// The regional IPv4 config of a network area. +func (o NetworkAreaRegionOutput) Ipv4() NetworkAreaRegionIpv4Output { + return o.ApplyT(func(v *NetworkAreaRegion) NetworkAreaRegionIpv4Output { return v.Ipv4 }).(NetworkAreaRegionIpv4Output) +} + +// The network area ID. +func (o NetworkAreaRegionOutput) NetworkAreaId() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkAreaRegion) pulumi.StringOutput { return v.NetworkAreaId }).(pulumi.StringOutput) +} + +// STACKIT organization ID to which the network area is associated. +func (o NetworkAreaRegionOutput) OrganizationId() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkAreaRegion) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o NetworkAreaRegionOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkAreaRegion) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +type NetworkAreaRegionArrayOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*NetworkAreaRegion)(nil)).Elem() +} + +func (o NetworkAreaRegionArrayOutput) ToNetworkAreaRegionArrayOutput() NetworkAreaRegionArrayOutput { + return o +} + +func (o NetworkAreaRegionArrayOutput) ToNetworkAreaRegionArrayOutputWithContext(ctx context.Context) NetworkAreaRegionArrayOutput { + return o +} + +func (o NetworkAreaRegionArrayOutput) Index(i pulumi.IntInput) NetworkAreaRegionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *NetworkAreaRegion { + return vs[0].([]*NetworkAreaRegion)[vs[1].(int)] + }).(NetworkAreaRegionOutput) +} + +type NetworkAreaRegionMapOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*NetworkAreaRegion)(nil)).Elem() +} + +func (o NetworkAreaRegionMapOutput) ToNetworkAreaRegionMapOutput() NetworkAreaRegionMapOutput { + return o +} + +func (o NetworkAreaRegionMapOutput) ToNetworkAreaRegionMapOutputWithContext(ctx context.Context) NetworkAreaRegionMapOutput { + return o +} + +func (o NetworkAreaRegionMapOutput) MapIndex(k pulumi.StringInput) NetworkAreaRegionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *NetworkAreaRegion { + return vs[0].(map[string]*NetworkAreaRegion)[vs[1].(string)] + }).(NetworkAreaRegionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionInput)(nil)).Elem(), &NetworkAreaRegion{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionArrayInput)(nil)).Elem(), NetworkAreaRegionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionMapInput)(nil)).Elem(), NetworkAreaRegionMap{}) + pulumi.RegisterOutputType(NetworkAreaRegionOutput{}) + pulumi.RegisterOutputType(NetworkAreaRegionArrayOutput{}) + pulumi.RegisterOutputType(NetworkAreaRegionMapOutput{}) +} diff --git a/sdk/go/stackit/networkAreaRoute.go b/sdk/go/stackit/networkAreaRoute.go index 39623e3..ea65e07 100644 --- a/sdk/go/stackit/networkAreaRoute.go +++ b/sdk/go/stackit/networkAreaRoute.go @@ -12,24 +12,23 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Network area route resource schema. Must have a `region` specified in the provider configuration. -// -// ## Example Usage type NetworkAreaRoute struct { pulumi.CustomResourceState + // Destination of the route. + Destination NetworkAreaRouteDestinationOutput `pulumi:"destination"` // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapOutput `pulumi:"labels"` // The network area ID to which the network area route is associated. NetworkAreaId pulumi.StringOutput `pulumi:"networkAreaId"` // The network area route ID. NetworkAreaRouteId pulumi.StringOutput `pulumi:"networkAreaRouteId"` - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop pulumi.StringOutput `pulumi:"nextHop"` + // Next hop destination. + NextHop NetworkAreaRouteNextHopOutput `pulumi:"nextHop"` // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringOutput `pulumi:"organizationId"` - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix pulumi.StringOutput `pulumi:"prefix"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` } // NewNetworkAreaRoute registers a new resource with the given unique name, arguments, and options. @@ -39,6 +38,9 @@ func NewNetworkAreaRoute(ctx *pulumi.Context, return nil, errors.New("missing one or more required arguments") } + if args.Destination == nil { + return nil, errors.New("invalid value for required argument 'Destination'") + } if args.NetworkAreaId == nil { return nil, errors.New("invalid value for required argument 'NetworkAreaId'") } @@ -48,9 +50,6 @@ func NewNetworkAreaRoute(ctx *pulumi.Context, if args.OrganizationId == nil { return nil, errors.New("invalid value for required argument 'OrganizationId'") } - if args.Prefix == nil { - return nil, errors.New("invalid value for required argument 'Prefix'") - } opts = internal.PkgResourceDefaultOpts(opts) var resource NetworkAreaRoute err := ctx.RegisterResource("stackit:index/networkAreaRoute:NetworkAreaRoute", name, args, &resource, opts...) @@ -74,33 +73,37 @@ func GetNetworkAreaRoute(ctx *pulumi.Context, // Input properties used for looking up and filtering NetworkAreaRoute resources. type networkAreaRouteState struct { + // Destination of the route. + Destination *NetworkAreaRouteDestination `pulumi:"destination"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The network area ID to which the network area route is associated. NetworkAreaId *string `pulumi:"networkAreaId"` // The network area route ID. NetworkAreaRouteId *string `pulumi:"networkAreaRouteId"` - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop *string `pulumi:"nextHop"` + // Next hop destination. + NextHop *NetworkAreaRouteNextHop `pulumi:"nextHop"` // STACKIT organization ID to which the network area is associated. OrganizationId *string `pulumi:"organizationId"` - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix *string `pulumi:"prefix"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } type NetworkAreaRouteState struct { + // Destination of the route. + Destination NetworkAreaRouteDestinationPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The network area ID to which the network area route is associated. NetworkAreaId pulumi.StringPtrInput // The network area route ID. NetworkAreaRouteId pulumi.StringPtrInput - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop pulumi.StringPtrInput + // Next hop destination. + NextHop NetworkAreaRouteNextHopPtrInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringPtrInput - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (NetworkAreaRouteState) ElementType() reflect.Type { @@ -108,30 +111,34 @@ func (NetworkAreaRouteState) ElementType() reflect.Type { } type networkAreaRouteArgs struct { + // Destination of the route. + Destination NetworkAreaRouteDestination `pulumi:"destination"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` // The network area ID to which the network area route is associated. NetworkAreaId string `pulumi:"networkAreaId"` - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop string `pulumi:"nextHop"` + // Next hop destination. + NextHop NetworkAreaRouteNextHop `pulumi:"nextHop"` // STACKIT organization ID to which the network area is associated. OrganizationId string `pulumi:"organizationId"` - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix string `pulumi:"prefix"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a NetworkAreaRoute resource. type NetworkAreaRouteArgs struct { + // Destination of the route. + Destination NetworkAreaRouteDestinationInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput // The network area ID to which the network area route is associated. NetworkAreaId pulumi.StringInput - // The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. - NextHop pulumi.StringInput + // Next hop destination. + NextHop NetworkAreaRouteNextHopInput // STACKIT organization ID to which the network area is associated. OrganizationId pulumi.StringInput - // The network, that is reachable though the Next Hop. Should use CIDR notation. - Prefix pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (NetworkAreaRouteArgs) ElementType() reflect.Type { @@ -221,6 +228,11 @@ func (o NetworkAreaRouteOutput) ToNetworkAreaRouteOutputWithContext(ctx context. return o } +// Destination of the route. +func (o NetworkAreaRouteOutput) Destination() NetworkAreaRouteDestinationOutput { + return o.ApplyT(func(v *NetworkAreaRoute) NetworkAreaRouteDestinationOutput { return v.Destination }).(NetworkAreaRouteDestinationOutput) +} + // Labels are key-value string pairs which can be attached to a resource container func (o NetworkAreaRouteOutput) Labels() pulumi.StringMapOutput { return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) @@ -236,9 +248,9 @@ func (o NetworkAreaRouteOutput) NetworkAreaRouteId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringOutput { return v.NetworkAreaRouteId }).(pulumi.StringOutput) } -// The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. -func (o NetworkAreaRouteOutput) NextHop() pulumi.StringOutput { - return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringOutput { return v.NextHop }).(pulumi.StringOutput) +// Next hop destination. +func (o NetworkAreaRouteOutput) NextHop() NetworkAreaRouteNextHopOutput { + return o.ApplyT(func(v *NetworkAreaRoute) NetworkAreaRouteNextHopOutput { return v.NextHop }).(NetworkAreaRouteNextHopOutput) } // STACKIT organization ID to which the network area is associated. @@ -246,9 +258,9 @@ func (o NetworkAreaRouteOutput) OrganizationId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringOutput { return v.OrganizationId }).(pulumi.StringOutput) } -// The network, that is reachable though the Next Hop. Should use CIDR notation. -func (o NetworkAreaRouteOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringOutput { return v.Prefix }).(pulumi.StringOutput) +// The resource region. If not defined, the provider region is used. +func (o NetworkAreaRouteOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkAreaRoute) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } type NetworkAreaRouteArrayOutput struct{ *pulumi.OutputState } diff --git a/sdk/go/stackit/networkInterface.go b/sdk/go/stackit/networkInterface.go index 6b6607c..03c4a18 100644 --- a/sdk/go/stackit/networkInterface.go +++ b/sdk/go/stackit/networkInterface.go @@ -36,6 +36,8 @@ type NetworkInterface struct { NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security pulumi.BoolOutput `pulumi:"security"` // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -98,6 +100,8 @@ type networkInterfaceState struct { NetworkInterfaceId *string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security *bool `pulumi:"security"` // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -125,6 +129,8 @@ type NetworkInterfaceState struct { NetworkInterfaceId pulumi.StringPtrInput // STACKIT project ID to which the network is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security pulumi.BoolPtrInput // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -150,6 +156,8 @@ type networkInterfaceArgs struct { NetworkId string `pulumi:"networkId"` // STACKIT project ID to which the network is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security *bool `pulumi:"security"` // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -170,6 +178,8 @@ type NetworkInterfaceArgs struct { NetworkId pulumi.StringInput // STACKIT project ID to which the network is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The Network Interface Security. If set to false, then no security groups will apply to this network interface. Security pulumi.BoolPtrInput // The list of security group UUIDs. If security is set to false, setting this field will lead to an error. @@ -308,6 +318,11 @@ func (o NetworkInterfaceOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o NetworkInterfaceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *NetworkInterface) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The Network Interface Security. If set to false, then no security groups will apply to this network interface. func (o NetworkInterfaceOutput) Security() pulumi.BoolOutput { return o.ApplyT(func(v *NetworkInterface) pulumi.BoolOutput { return v.Security }).(pulumi.BoolOutput) diff --git a/sdk/go/stackit/provider.go b/sdk/go/stackit/provider.go index ea92832..ac8fb4f 100644 --- a/sdk/go/stackit/provider.go +++ b/sdk/go/stackit/provider.go @@ -86,10 +86,12 @@ type Provider struct { ServiceAccountKeyPath pulumi.StringPtrOutput `pulumi:"serviceAccountKeyPath"` // Token used for authentication. If set, the token flow will be used to authenticate all operations. // - // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html + // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ ServiceAccountToken pulumi.StringPtrOutput `pulumi:"serviceAccountToken"` // Custom endpoint for the Service Enablement API ServiceEnablementCustomEndpoint pulumi.StringPtrOutput `pulumi:"serviceEnablementCustomEndpoint"` + // Custom endpoint for the Stackit Filestorage API + SfsCustomEndpoint pulumi.StringPtrOutput `pulumi:"sfsCustomEndpoint"` // Custom endpoint for the Kubernetes Engine (SKE) service SkeCustomEndpoint pulumi.StringPtrOutput `pulumi:"skeCustomEndpoint"` // Custom endpoint for the SQL Server Flex service @@ -187,10 +189,12 @@ type providerArgs struct { ServiceAccountKeyPath *string `pulumi:"serviceAccountKeyPath"` // Token used for authentication. If set, the token flow will be used to authenticate all operations. // - // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html + // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ ServiceAccountToken *string `pulumi:"serviceAccountToken"` // Custom endpoint for the Service Enablement API ServiceEnablementCustomEndpoint *string `pulumi:"serviceEnablementCustomEndpoint"` + // Custom endpoint for the Stackit Filestorage API + SfsCustomEndpoint *string `pulumi:"sfsCustomEndpoint"` // Custom endpoint for the Kubernetes Engine (SKE) service SkeCustomEndpoint *string `pulumi:"skeCustomEndpoint"` // Custom endpoint for the SQL Server Flex service @@ -273,10 +277,12 @@ type ProviderArgs struct { ServiceAccountKeyPath pulumi.StringPtrInput // Token used for authentication. If set, the token flow will be used to authenticate all operations. // - // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html + // Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ ServiceAccountToken pulumi.StringPtrInput // Custom endpoint for the Service Enablement API ServiceEnablementCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Stackit Filestorage API + SfsCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Kubernetes Engine (SKE) service SkeCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the SQL Server Flex service @@ -506,7 +512,7 @@ func (o ProviderOutput) ServiceAccountKeyPath() pulumi.StringPtrOutput { // Token used for authentication. If set, the token flow will be used to authenticate all operations. // -// Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html +// Deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ func (o ProviderOutput) ServiceAccountToken() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ServiceAccountToken }).(pulumi.StringPtrOutput) } @@ -516,6 +522,11 @@ func (o ProviderOutput) ServiceEnablementCustomEndpoint() pulumi.StringPtrOutput return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.ServiceEnablementCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Stackit Filestorage API +func (o ProviderOutput) SfsCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SfsCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the Kubernetes Engine (SKE) service func (o ProviderOutput) SkeCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SkeCustomEndpoint }).(pulumi.StringPtrOutput) diff --git a/sdk/go/stackit/publicIp.go b/sdk/go/stackit/publicIp.go index 1ac3131..a38528a 100644 --- a/sdk/go/stackit/publicIp.go +++ b/sdk/go/stackit/publicIp.go @@ -27,6 +27,8 @@ type PublicIp struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The public IP ID. PublicIpId pulumi.StringOutput `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` } // NewPublicIp registers a new resource with the given unique name, arguments, and options. @@ -71,6 +73,8 @@ type publicIpState struct { ProjectId *string `pulumi:"projectId"` // The public IP ID. PublicIpId *string `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } type PublicIpState struct { @@ -83,6 +87,8 @@ type PublicIpState struct { ProjectId pulumi.StringPtrInput // The public IP ID. PublicIpId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (PublicIpState) ElementType() reflect.Type { @@ -95,6 +101,8 @@ type publicIpArgs struct { NetworkInterfaceId *string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the public IP is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a PublicIp resource. @@ -104,6 +112,8 @@ type PublicIpArgs struct { NetworkInterfaceId pulumi.StringPtrInput // STACKIT project ID to which the public IP is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (PublicIpArgs) ElementType() reflect.Type { @@ -217,6 +227,11 @@ func (o PublicIpOutput) PublicIpId() pulumi.StringOutput { return o.ApplyT(func(v *PublicIp) pulumi.StringOutput { return v.PublicIpId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o PublicIpOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *PublicIp) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + type PublicIpArrayOutput struct{ *pulumi.OutputState } func (PublicIpArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/publicIpAssociate.go b/sdk/go/stackit/publicIpAssociate.go index c5ac4de..aad018c 100644 --- a/sdk/go/stackit/publicIpAssociate.go +++ b/sdk/go/stackit/publicIpAssociate.go @@ -29,6 +29,8 @@ type PublicIpAssociate struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The public IP ID. PublicIpId pulumi.StringOutput `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` } // NewPublicIpAssociate registers a new resource with the given unique name, arguments, and options. @@ -78,6 +80,8 @@ type publicIpAssociateState struct { ProjectId *string `pulumi:"projectId"` // The public IP ID. PublicIpId *string `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } type PublicIpAssociateState struct { @@ -89,6 +93,8 @@ type PublicIpAssociateState struct { ProjectId pulumi.StringPtrInput // The public IP ID. PublicIpId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (PublicIpAssociateState) ElementType() reflect.Type { @@ -102,6 +108,8 @@ type publicIpAssociateArgs struct { ProjectId string `pulumi:"projectId"` // The public IP ID. PublicIpId string `pulumi:"publicIpId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` } // The set of arguments for constructing a PublicIpAssociate resource. @@ -112,6 +120,8 @@ type PublicIpAssociateArgs struct { ProjectId pulumi.StringInput // The public IP ID. PublicIpId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput } func (PublicIpAssociateArgs) ElementType() reflect.Type { @@ -221,6 +231,11 @@ func (o PublicIpAssociateOutput) PublicIpId() pulumi.StringOutput { return o.ApplyT(func(v *PublicIpAssociate) pulumi.StringOutput { return v.PublicIpId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o PublicIpAssociateOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *PublicIpAssociate) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + type PublicIpAssociateArrayOutput struct{ *pulumi.OutputState } func (PublicIpAssociateArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index 7957299..acc6516 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -4533,8 +4533,11 @@ func (o MongodbflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { } type NetworkAreaNetworkRange struct { + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRangeId *string `pulumi:"networkRangeId"` // Classless Inter-Domain Routing (CIDR). + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. Prefix string `pulumi:"prefix"` } @@ -4550,8 +4553,11 @@ type NetworkAreaNetworkRangeInput interface { } type NetworkAreaNetworkRangeArgs struct { + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` // Classless Inter-Domain Routing (CIDR). + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. Prefix pulumi.StringInput `pulumi:"prefix"` } @@ -4606,11 +4612,14 @@ func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutputWithContex return o } +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { return o.ApplyT(func(v NetworkAreaNetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) } // Classless Inter-Domain Routing (CIDR). +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. func (o NetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { return o.ApplyT(func(v NetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } @@ -4635,6 +4644,653 @@ func (o NetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkArea }).(NetworkAreaNetworkRangeOutput) } +type NetworkAreaRegionIpv4 struct { + // List of DNS Servers/Nameservers. + DefaultNameservers []string `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength *int `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength *int `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges []NetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork string `pulumi:"transferNetwork"` +} + +// NetworkAreaRegionIpv4Input is an input type that accepts NetworkAreaRegionIpv4Args and NetworkAreaRegionIpv4Output values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4Input` via: +// +// NetworkAreaRegionIpv4Args{...} +type NetworkAreaRegionIpv4Input interface { + pulumi.Input + + ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output + ToNetworkAreaRegionIpv4OutputWithContext(context.Context) NetworkAreaRegionIpv4Output +} + +type NetworkAreaRegionIpv4Args struct { + // List of DNS Servers/Nameservers. + DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength pulumi.IntPtrInput `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength pulumi.IntPtrInput `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength pulumi.IntPtrInput `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges NetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +} + +func (NetworkAreaRegionIpv4Args) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() +} + +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { + return i.ToNetworkAreaRegionIpv4OutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output) +} + +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output).ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx) +} + +// NetworkAreaRegionIpv4PtrInput is an input type that accepts NetworkAreaRegionIpv4Args, NetworkAreaRegionIpv4Ptr and NetworkAreaRegionIpv4PtrOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4PtrInput` via: +// +// NetworkAreaRegionIpv4Args{...} +// +// or: +// +// nil +type NetworkAreaRegionIpv4PtrInput interface { + pulumi.Input + + ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput + ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Context) NetworkAreaRegionIpv4PtrOutput +} + +type networkAreaRegionIpv4PtrType NetworkAreaRegionIpv4Args + +func NetworkAreaRegionIpv4Ptr(v *NetworkAreaRegionIpv4Args) NetworkAreaRegionIpv4PtrInput { + return (*networkAreaRegionIpv4PtrType)(v) +} + +func (*networkAreaRegionIpv4PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() +} + +func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +} + +func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4PtrOutput) +} + +type NetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() +} + +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { + return o +} + +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { + return o +} + +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return o.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +} + +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRegionIpv4) *NetworkAreaRegionIpv4 { + return &v + }).(NetworkAreaRegionIpv4PtrOutput) +} + +// List of DNS Servers/Nameservers. +func (o NetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) +} + +// The default prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.DefaultPrefixLength }).(pulumi.IntPtrOutput) +} + +// The maximal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MaxPrefixLength }).(pulumi.IntPtrOutput) +} + +// The minimal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MinPrefixLength }).(pulumi.IntPtrOutput) +} + +// List of Network ranges. +func (o NetworkAreaRegionIpv4Output) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +} + +type NetworkAreaRegionIpv4PtrOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() +} + +func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return o +} + +func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return o +} + +func (o NetworkAreaRegionIpv4PtrOutput) Elem() NetworkAreaRegionIpv4Output { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) NetworkAreaRegionIpv4 { + if v != nil { + return *v + } + var ret NetworkAreaRegionIpv4 + return ret + }).(NetworkAreaRegionIpv4Output) +} + +// List of DNS Servers/Nameservers. +func (o NetworkAreaRegionIpv4PtrOutput) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) []string { + if v == nil { + return nil + } + return v.DefaultNameservers + }).(pulumi.StringArrayOutput) +} + +// The default prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) DefaultPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { + if v == nil { + return nil + } + return v.DefaultPrefixLength + }).(pulumi.IntPtrOutput) +} + +// The maximal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) MaxPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { + if v == nil { + return nil + } + return v.MaxPrefixLength + }).(pulumi.IntPtrOutput) +} + +// The minimal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) MinPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { + if v == nil { + return nil + } + return v.MinPrefixLength + }).(pulumi.IntPtrOutput) +} + +// List of Network ranges. +func (o NetworkAreaRegionIpv4PtrOutput) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { + if v == nil { + return nil + } + return v.NetworkRanges + }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4PtrOutput) TransferNetwork() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *string { + if v == nil { + return nil + } + return &v.TransferNetwork + }).(pulumi.StringPtrOutput) +} + +type NetworkAreaRegionIpv4NetworkRange struct { + NetworkRangeId *string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix string `pulumi:"prefix"` +} + +// NetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArgs and NetworkAreaRegionIpv4NetworkRangeOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeInput` via: +// +// NetworkAreaRegionIpv4NetworkRangeArgs{...} +type NetworkAreaRegionIpv4NetworkRangeInput interface { + pulumi.Input + + ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput + ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeOutput +} + +type NetworkAreaRegionIpv4NetworkRangeArgs struct { + NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (NetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +} + +func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { + return i.ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeOutput) +} + +// NetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArray and NetworkAreaRegionIpv4NetworkRangeArrayOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeArrayInput` via: +// +// NetworkAreaRegionIpv4NetworkRangeArray{ NetworkAreaRegionIpv4NetworkRangeArgs{...} } +type NetworkAreaRegionIpv4NetworkRangeArrayInput interface { + pulumi.Input + + ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput + ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput +} + +type NetworkAreaRegionIpv4NetworkRangeArray []NetworkAreaRegionIpv4NetworkRangeInput + +func (NetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +} + +func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return i.ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) +} + +func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +type NetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +} + +func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { + return o +} + +func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { + return o +} + +func (o NetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) +} + +// Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +} + +type NetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +} + +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o +} + +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o +} + +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaRegionIpv4NetworkRange { + return vs[0].([]NetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] + }).(NetworkAreaRegionIpv4NetworkRangeOutput) +} + +type NetworkAreaRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` +} + +// NetworkAreaRouteDestinationInput is an input type that accepts NetworkAreaRouteDestinationArgs and NetworkAreaRouteDestinationOutput values. +// You can construct a concrete instance of `NetworkAreaRouteDestinationInput` via: +// +// NetworkAreaRouteDestinationArgs{...} +type NetworkAreaRouteDestinationInput interface { + pulumi.Input + + ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput + ToNetworkAreaRouteDestinationOutputWithContext(context.Context) NetworkAreaRouteDestinationOutput +} + +type NetworkAreaRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` +} + +func (NetworkAreaRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() +} + +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { + return i.ToNetworkAreaRouteDestinationOutputWithContext(context.Background()) +} + +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput) +} + +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput).ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx) +} + +// NetworkAreaRouteDestinationPtrInput is an input type that accepts NetworkAreaRouteDestinationArgs, NetworkAreaRouteDestinationPtr and NetworkAreaRouteDestinationPtrOutput values. +// You can construct a concrete instance of `NetworkAreaRouteDestinationPtrInput` via: +// +// NetworkAreaRouteDestinationArgs{...} +// +// or: +// +// nil +type NetworkAreaRouteDestinationPtrInput interface { + pulumi.Input + + ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput + ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Context) NetworkAreaRouteDestinationPtrOutput +} + +type networkAreaRouteDestinationPtrType NetworkAreaRouteDestinationArgs + +func NetworkAreaRouteDestinationPtr(v *NetworkAreaRouteDestinationArgs) NetworkAreaRouteDestinationPtrInput { + return (*networkAreaRouteDestinationPtrType)(v) +} + +func (*networkAreaRouteDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() +} + +func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationPtrOutput) +} + +type NetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() +} + +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { + return o +} + +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { + return o +} + +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return o.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteDestination) *NetworkAreaRouteDestination { + return &v + }).(NetworkAreaRouteDestinationPtrOutput) +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. +func (o NetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// An CIDR string. +func (o NetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) +} + +type NetworkAreaRouteDestinationPtrOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() +} + +func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return o +} + +func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return o +} + +func (o NetworkAreaRouteDestinationPtrOutput) Elem() NetworkAreaRouteDestinationOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) NetworkAreaRouteDestination { + if v != nil { + return *v + } + var ret NetworkAreaRouteDestination + return ret + }).(NetworkAreaRouteDestinationOutput) +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. +func (o NetworkAreaRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// An CIDR string. +func (o NetworkAreaRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.StringPtrOutput) +} + +type NetworkAreaRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + Value *string `pulumi:"value"` +} + +// NetworkAreaRouteNextHopInput is an input type that accepts NetworkAreaRouteNextHopArgs and NetworkAreaRouteNextHopOutput values. +// You can construct a concrete instance of `NetworkAreaRouteNextHopInput` via: +// +// NetworkAreaRouteNextHopArgs{...} +type NetworkAreaRouteNextHopInput interface { + pulumi.Input + + ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput + ToNetworkAreaRouteNextHopOutputWithContext(context.Context) NetworkAreaRouteNextHopOutput +} + +type NetworkAreaRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + Value pulumi.StringPtrInput `pulumi:"value"` +} + +func (NetworkAreaRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() +} + +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { + return i.ToNetworkAreaRouteNextHopOutputWithContext(context.Background()) +} + +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput) +} + +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput).ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx) +} + +// NetworkAreaRouteNextHopPtrInput is an input type that accepts NetworkAreaRouteNextHopArgs, NetworkAreaRouteNextHopPtr and NetworkAreaRouteNextHopPtrOutput values. +// You can construct a concrete instance of `NetworkAreaRouteNextHopPtrInput` via: +// +// NetworkAreaRouteNextHopArgs{...} +// +// or: +// +// nil +type NetworkAreaRouteNextHopPtrInput interface { + pulumi.Input + + ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput + ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Context) NetworkAreaRouteNextHopPtrOutput +} + +type networkAreaRouteNextHopPtrType NetworkAreaRouteNextHopArgs + +func NetworkAreaRouteNextHopPtr(v *NetworkAreaRouteNextHopArgs) NetworkAreaRouteNextHopPtrInput { + return (*networkAreaRouteNextHopPtrType)(v) +} + +func (*networkAreaRouteNextHopPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() +} + +func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopPtrOutput) +} + +type NetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() +} + +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { + return o +} + +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { + return o +} + +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return o.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteNextHop) *NetworkAreaRouteNextHop { + return &v + }).(NetworkAreaRouteNextHopPtrOutput) +} + +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. +func (o NetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. +func (o NetworkAreaRouteNextHopOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAreaRouteNextHop) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type NetworkAreaRouteNextHopPtrOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteNextHopPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() +} + +func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return o +} + +func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return o +} + +func (o NetworkAreaRouteNextHopPtrOutput) Elem() NetworkAreaRouteNextHopOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) NetworkAreaRouteNextHop { + if v != nil { + return *v + } + var ret NetworkAreaRouteNextHop + return ret + }).(NetworkAreaRouteNextHopOutput) +} + +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. +func (o NetworkAreaRouteNextHopPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. +func (o NetworkAreaRouteNextHopPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { + if v == nil { + return nil + } + return v.Value + }).(pulumi.StringPtrOutput) +} + type ObservabilityAlertgroupRule struct { // The name of the alert rule. Is the identifier and must be unique in the group. Alert string `pulumi:"alert"` @@ -9466,24 +10122,166 @@ func (o ServerBootVolumePtrOutput) Size() pulumi.IntPtrOutput { }).(pulumi.IntPtrOutput) } -// The ID of the source, either image ID or volume ID -func (o ServerBootVolumePtrOutput) SourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { - if v == nil { - return nil - } - return &v.SourceId - }).(pulumi.StringPtrOutput) +// The ID of the source, either image ID or volume ID +func (o ServerBootVolumePtrOutput) SourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { + if v == nil { + return nil + } + return &v.SourceId + }).(pulumi.StringPtrOutput) +} + +// The type of the source. Possible values are: `volume`, `image`. +func (o ServerBootVolumePtrOutput) SourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { + if v == nil { + return nil + } + return &v.SourceType + }).(pulumi.StringPtrOutput) +} + +type SfsExportPolicyRule struct { + // Description of the Rule + Description *string `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order int `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly *bool `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid *bool `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser *bool `pulumi:"superUser"` +} + +// SfsExportPolicyRuleInput is an input type that accepts SfsExportPolicyRuleArgs and SfsExportPolicyRuleOutput values. +// You can construct a concrete instance of `SfsExportPolicyRuleInput` via: +// +// SfsExportPolicyRuleArgs{...} +type SfsExportPolicyRuleInput interface { + pulumi.Input + + ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput + ToSfsExportPolicyRuleOutputWithContext(context.Context) SfsExportPolicyRuleOutput +} + +type SfsExportPolicyRuleArgs struct { + // Description of the Rule + Description pulumi.StringPtrInput `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order pulumi.IntInput `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid pulumi.BoolPtrInput `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser pulumi.BoolPtrInput `pulumi:"superUser"` +} + +func (SfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() +} + +func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { + return i.ToSfsExportPolicyRuleOutputWithContext(context.Background()) +} + +func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleOutput) +} + +// SfsExportPolicyRuleArrayInput is an input type that accepts SfsExportPolicyRuleArray and SfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `SfsExportPolicyRuleArrayInput` via: +// +// SfsExportPolicyRuleArray{ SfsExportPolicyRuleArgs{...} } +type SfsExportPolicyRuleArrayInput interface { + pulumi.Input + + ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput + ToSfsExportPolicyRuleArrayOutputWithContext(context.Context) SfsExportPolicyRuleArrayOutput +} + +type SfsExportPolicyRuleArray []SfsExportPolicyRuleInput + +func (SfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() +} + +func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { + return i.ToSfsExportPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleArrayOutput) +} + +type SfsExportPolicyRuleOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() +} + +func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { + return o +} + +func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { + return o +} + +// Description of the Rule +func (o SfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o SfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v SfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) +} + +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o SfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v SfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) +} + +// Flag to indicate if client IPs matching this rule can only mount the share in read only mode +func (o SfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +} + +// Flag to honor set UUID +func (o SfsExportPolicyRuleOutput) SetUuid() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SetUuid }).(pulumi.BoolPtrOutput) +} + +// Flag to indicate if client IPs matching this rule have root access on the Share +func (o SfsExportPolicyRuleOutput) SuperUser() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SuperUser }).(pulumi.BoolPtrOutput) +} + +type SfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() +} + +func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { + return o } -// The type of the source. Possible values are: `volume`, `image`. -func (o ServerBootVolumePtrOutput) SourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { - if v == nil { - return nil - } - return &v.SourceType - }).(pulumi.StringPtrOutput) +func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { + return o +} + +func (o SfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) SfsExportPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SfsExportPolicyRule { + return vs[0].([]SfsExportPolicyRule)[vs[1].(int)] + }).(SfsExportPolicyRuleOutput) } type SkeClusterExtensions struct { @@ -10428,9 +11226,9 @@ func (o SkeClusterHibernationArrayOutput) Index(i pulumi.IntInput) SkeClusterHib } type SkeClusterMaintenance struct { - // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). EnableKubernetesVersionUpdates *bool `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). EnableMachineImageVersionUpdates *bool `pulumi:"enableMachineImageVersionUpdates"` // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. End string `pulumi:"end"` @@ -10450,9 +11248,9 @@ type SkeClusterMaintenanceInput interface { } type SkeClusterMaintenanceArgs struct { - // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). EnableKubernetesVersionUpdates pulumi.BoolPtrInput `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). EnableMachineImageVersionUpdates pulumi.BoolPtrInput `pulumi:"enableMachineImageVersionUpdates"` // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. End pulumi.StringInput `pulumi:"end"` @@ -10537,12 +11335,12 @@ func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenancePtrOutputWithContext }).(SkeClusterMaintenancePtrOutput) } -// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolPtrOutput) } -// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableMachineImageVersionUpdates }).(pulumi.BoolPtrOutput) } @@ -10581,7 +11379,7 @@ func (o SkeClusterMaintenancePtrOutput) Elem() SkeClusterMaintenanceOutput { }).(SkeClusterMaintenanceOutput) } -// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterMaintenancePtrOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { return o.ApplyT(func(v *SkeClusterMaintenance) *bool { if v == nil { @@ -10591,7 +11389,7 @@ func (o SkeClusterMaintenancePtrOutput) EnableKubernetesVersionUpdates() pulumi. }).(pulumi.BoolPtrOutput) } -// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterMaintenancePtrOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { return o.ApplyT(func(v *SkeClusterMaintenance) *bool { if v == nil { @@ -10785,9 +11583,9 @@ type SkeClusterNodePool struct { // // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. OsVersion *string `pulumi:"osVersion"` - // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. OsVersionMin *string `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). OsVersionUsed *string `pulumi:"osVersionUsed"` // Specifies a taint list as defined below. Taints []SkeClusterNodePoolTaint `pulumi:"taints"` @@ -10835,9 +11633,9 @@ type SkeClusterNodePoolArgs struct { // // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. OsVersion pulumi.StringPtrInput `pulumi:"osVersion"` - // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. OsVersionMin pulumi.StringPtrInput `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). OsVersionUsed pulumi.StringPtrInput `pulumi:"osVersionUsed"` // Specifies a taint list as defined below. Taints SkeClusterNodePoolTaintArrayInput `pulumi:"taints"` @@ -10960,12 +11758,12 @@ func (o SkeClusterNodePoolOutput) OsVersion() pulumi.StringPtrOutput { return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersion }).(pulumi.StringPtrOutput) } -// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. +// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. func (o SkeClusterNodePoolOutput) OsVersionMin() pulumi.StringPtrOutput { return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionMin }).(pulumi.StringPtrOutput) } -// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringPtrOutput { return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionUsed }).(pulumi.StringPtrOutput) } @@ -14503,193 +15301,515 @@ func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutp return o } -func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { - return o +func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { + return o +} + +// The number of days that daily backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) +} + +// The number of months that monthly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) +} + +// The number of hours back in time the point-in-time recovery feature will be able to recover. +func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) +} + +// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. +func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) +} + +// Type of the MongoDB Flex instance. +func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +} + +// The number of weeks that weekly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) +} + +type GetMongodbflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: +// +// GetMongodbflexInstanceStorageArgs{...} +type GetMongodbflexInstanceStorageInput interface { + pulumi.Input + + ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput + ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput +} + +type GetMongodbflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +} + +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) +} + +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) +} + +type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +} + +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return o +} + +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return o +} + +func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +} + +func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +} + +type GetNetworkAreaNetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + Prefix string `pulumi:"prefix"` +} + +// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: +// +// GetNetworkAreaNetworkRangeArgs{...} +type GetNetworkAreaNetworkRangeInput interface { + pulumi.Input + + ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput + ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput +} + +type GetNetworkAreaNetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + Prefix pulumi.StringInput `pulumi:"prefix"` +} + +func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +} + +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { + return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) +} + +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) +} + +// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: +// +// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } +type GetNetworkAreaNetworkRangeArrayInput interface { + pulumi.Input + + ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput + ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput +} + +type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput + +func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +} + +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { + return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +} + +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) +} + +type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } + +func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +} + +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { + return o +} + +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { + return o +} + +func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) +} + +func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +} + +type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +} + +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { + return o +} + +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { + return o +} + +func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { + return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] + }).(GetNetworkAreaNetworkRangeOutput) +} + +type GetNetworkAreaRegionIpv4 struct { + // List of DNS Servers/Nameservers. + DefaultNameservers []string `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength int `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength int `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength int `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges []GetNetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork string `pulumi:"transferNetwork"` +} + +// GetNetworkAreaRegionIpv4Input is an input type that accepts GetNetworkAreaRegionIpv4Args and GetNetworkAreaRegionIpv4Output values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4Input` via: +// +// GetNetworkAreaRegionIpv4Args{...} +type GetNetworkAreaRegionIpv4Input interface { + pulumi.Input + + ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output + ToGetNetworkAreaRegionIpv4OutputWithContext(context.Context) GetNetworkAreaRegionIpv4Output +} + +type GetNetworkAreaRegionIpv4Args struct { + // List of DNS Servers/Nameservers. + DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength pulumi.IntInput `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength pulumi.IntInput `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength pulumi.IntInput `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges GetNetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +} + +func (GetNetworkAreaRegionIpv4Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +} + +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { + return i.ToGetNetworkAreaRegionIpv4OutputWithContext(context.Background()) +} + +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4Output) +} + +type GetNetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } + +func (GetNetworkAreaRegionIpv4Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +} + +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { + return o +} + +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { + return o +} + +// List of DNS Servers/Nameservers. +func (o GetNetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) +} + +// The default prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) +} + +// The maximal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MaxPrefixLength }).(pulumi.IntOutput) +} + +// The minimal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MinPrefixLength }).(pulumi.IntOutput) +} + +// List of Network ranges. +func (o GetNetworkAreaRegionIpv4Output) NetworkRanges() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []GetNetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +} + +type GetNetworkAreaRegionIpv4NetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix string `pulumi:"prefix"` +} + +// GetNetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArgs and GetNetworkAreaRegionIpv4NetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeInput` via: +// +// GetNetworkAreaRegionIpv4NetworkRangeArgs{...} +type GetNetworkAreaRegionIpv4NetworkRangeInput interface { + pulumi.Input + + ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput + ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput +} + +type GetNetworkAreaRegionIpv4NetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix pulumi.StringInput `pulumi:"prefix"` } -// The number of days that daily backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) +func (GetNetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -// The number of months that monthly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) } -// The number of hours back in time the point-in-time recovery feature will be able to recover. -func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeOutput) } -// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. -func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) +// GetNetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArray and GetNetworkAreaRegionIpv4NetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeArrayInput` via: +// +// GetNetworkAreaRegionIpv4NetworkRangeArray{ GetNetworkAreaRegionIpv4NetworkRangeArgs{...} } +type GetNetworkAreaRegionIpv4NetworkRangeArrayInput interface { + pulumi.Input + + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput } -// Type of the MongoDB Flex instance. -func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +type GetNetworkAreaRegionIpv4NetworkRangeArray []GetNetworkAreaRegionIpv4NetworkRangeInput + +func (GetNetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -// The number of weeks that weekly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) } -type GetMongodbflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) } -// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: -// -// GetMongodbflexInstanceStorageArgs{...} -type GetMongodbflexInstanceStorageInput interface { - pulumi.Input +type GetNetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } - ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput - ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput +func (GetNetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -type GetMongodbflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { + return o } -func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return o } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { - return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) +// Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } -func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { return o } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { return o } -func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) -} - -func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaRegionIpv4NetworkRange { + return vs[0].([]GetNetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] + }).(GetNetworkAreaRegionIpv4NetworkRangeOutput) } -type GetNetworkAreaNetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - Prefix string `pulumi:"prefix"` +type GetNetworkAreaRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` } -// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: +// GetNetworkAreaRouteDestinationInput is an input type that accepts GetNetworkAreaRouteDestinationArgs and GetNetworkAreaRouteDestinationOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteDestinationInput` via: // -// GetNetworkAreaNetworkRangeArgs{...} -type GetNetworkAreaNetworkRangeInput interface { +// GetNetworkAreaRouteDestinationArgs{...} +type GetNetworkAreaRouteDestinationInput interface { pulumi.Input - ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput - ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput + ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput + ToGetNetworkAreaRouteDestinationOutputWithContext(context.Context) GetNetworkAreaRouteDestinationOutput } -type GetNetworkAreaNetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - Prefix pulumi.StringInput `pulumi:"prefix"` +type GetNetworkAreaRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` } -func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetNetworkAreaRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { + return i.ToGetNetworkAreaRouteDestinationOutputWithContext(context.Background()) } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteDestinationOutput) } -// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: -// -// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } -type GetNetworkAreaNetworkRangeArrayInput interface { - pulumi.Input +type GetNetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } - ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput - ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput +func (GetNetworkAreaRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { + return o +} -func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { + return o } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { - return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. +func (o GetNetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) +// An CIDR string. +func (o GetNetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value string `pulumi:"value"` +} -func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +// GetNetworkAreaRouteNextHopInput is an input type that accepts GetNetworkAreaRouteNextHopArgs and GetNetworkAreaRouteNextHopOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteNextHopInput` via: +// +// GetNetworkAreaRouteNextHopArgs{...} +type GetNetworkAreaRouteNextHopInput interface { + pulumi.Input + + ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput + ToGetNetworkAreaRouteNextHopOutputWithContext(context.Context) GetNetworkAreaRouteNextHopOutput } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return o +type GetNetworkAreaRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value pulumi.StringInput `pulumi:"value"` } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return o +func (GetNetworkAreaRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { + return i.ToGetNetworkAreaRouteNextHopOutputWithContext(context.Background()) } -func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteNextHopOutput) } -type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetNetworkAreaRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { return o } -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { return o } -func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { - return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] - }).(GetNetworkAreaNetworkRangeOutput) +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetNetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). +func (o GetNetworkAreaRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Value }).(pulumi.StringOutput) } type GetObservabilityAlertgroupRule struct { @@ -18145,6 +19265,290 @@ func (o GetServerUpdateSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetSer }).(GetServerUpdateSchedulesItemOutput) } +type GetSfsExportPolicyRule struct { + // Description of the Rule + Description *string `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order int `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly bool `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid bool `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser bool `pulumi:"superUser"` +} + +// GetSfsExportPolicyRuleInput is an input type that accepts GetSfsExportPolicyRuleArgs and GetSfsExportPolicyRuleOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleInput` via: +// +// GetSfsExportPolicyRuleArgs{...} +type GetSfsExportPolicyRuleInput interface { + pulumi.Input + + ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput + ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput +} + +type GetSfsExportPolicyRuleArgs struct { + // Description of the Rule + Description pulumi.StringPtrInput `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order pulumi.IntInput `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly pulumi.BoolInput `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid pulumi.BoolInput `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser pulumi.BoolInput `pulumi:"superUser"` +} + +func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +} + +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) +} + +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) +} + +// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: +// +// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } +type GetSfsExportPolicyRuleArrayInput interface { + pulumi.Input + + ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput + ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput +} + +type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput + +func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +} + +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) +} + +type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } + +func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +} + +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return o +} + +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return o +} + +// Description of the Rule +func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o GetSfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) +} + +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) +} + +// Flag to indicate if client IPs matching this rule can only mount the share in read only mode +func (o GetSfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.ReadOnly }).(pulumi.BoolOutput) +} + +// Flag to honor set UUID +func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) +} + +// Flag to indicate if client IPs matching this rule have root access on the Share +func (o GetSfsExportPolicyRuleOutput) SuperUser() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SuperUser }).(pulumi.BoolOutput) +} + +type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +} + +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return o +} + +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return o +} + +func (o GetSfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSfsExportPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsExportPolicyRule { + return vs[0].([]GetSfsExportPolicyRule)[vs[1].(int)] + }).(GetSfsExportPolicyRuleOutput) +} + +type GetSfsResourcePoolSnapshotSnapshot struct { + // (optional) A comment to add more information about a snapshot + Comment string `pulumi:"comment"` + // creation date of the snapshot + CreatedAt string `pulumi:"createdAt"` + // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + LogicalSizeGigabytes int `pulumi:"logicalSizeGigabytes"` + // ID of the Resource Pool of the Snapshot + ResourcePoolId string `pulumi:"resourcePoolId"` + // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + SizeGigabytes int `pulumi:"sizeGigabytes"` + // Name of the Resource Pool Snapshot + SnapshotName string `pulumi:"snapshotName"` +} + +// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: +// +// GetSfsResourcePoolSnapshotSnapshotArgs{...} +type GetSfsResourcePoolSnapshotSnapshotInput interface { + pulumi.Input + + ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput + ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput +} + +type GetSfsResourcePoolSnapshotSnapshotArgs struct { + // (optional) A comment to add more information about a snapshot + Comment pulumi.StringInput `pulumi:"comment"` + // creation date of the snapshot + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + LogicalSizeGigabytes pulumi.IntInput `pulumi:"logicalSizeGigabytes"` + // ID of the Resource Pool of the Snapshot + ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` + // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + SizeGigabytes pulumi.IntInput `pulumi:"sizeGigabytes"` + // Name of the Resource Pool Snapshot + SnapshotName pulumi.StringInput `pulumi:"snapshotName"` +} + +func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +} + +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) +} + +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) +} + +// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: +// +// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } +type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { + pulumi.Input + + ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput +} + +type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput + +func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +} + +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) +} + +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) +} + +type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +} + +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return o +} + +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return o +} + +// (optional) A comment to add more information about a snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) Comment() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.Comment }).(pulumi.StringOutput) +} + +// creation date of the snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) +} + +// ID of the Resource Pool of the Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) +} + +// Name of the Resource Pool Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +} + +type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +} + +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return o +} + +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return o +} + +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) Index(i pulumi.IntInput) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsResourcePoolSnapshotSnapshot { + return vs[0].([]GetSfsResourcePoolSnapshotSnapshot)[vs[1].(int)] + }).(GetSfsResourcePoolSnapshotSnapshotOutput) +} + type GetSkeClusterExtensions struct { // Cluster access control configuration Acl GetSkeClusterExtensionsAcl `pulumi:"acl"` @@ -18745,9 +20149,9 @@ type GetSkeClusterNodePool struct { OsName string `pulumi:"osName"` // The OS image version. OsVersion string `pulumi:"osVersion"` - // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. OsVersionMin string `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). OsVersionUsed string `pulumi:"osVersionUsed"` // Specifies a taint list as defined below. Taints []GetSkeClusterNodePoolTaint `pulumi:"taints"` @@ -18793,9 +20197,9 @@ type GetSkeClusterNodePoolArgs struct { OsName pulumi.StringInput `pulumi:"osName"` // The OS image version. OsVersion pulumi.StringInput `pulumi:"osVersion"` - // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. OsVersionMin pulumi.StringInput `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). OsVersionUsed pulumi.StringInput `pulumi:"osVersionUsed"` // Specifies a taint list as defined below. Taints GetSkeClusterNodePoolTaintArrayInput `pulumi:"taints"` @@ -18916,12 +20320,12 @@ func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(pulumi.StringOutput) } -// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. +// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. func (o GetSkeClusterNodePoolOutput) OsVersionMin() pulumi.StringOutput { return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionMin }).(pulumi.StringOutput) } -// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o GetSkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringOutput { return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionUsed }).(pulumi.StringOutput) } @@ -19367,6 +20771,14 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*MongodbflexInstanceStoragePtrInput)(nil)).Elem(), MongodbflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaNetworkRangeInput)(nil)).Elem(), NetworkAreaNetworkRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaNetworkRangeArrayInput)(nil)).Elem(), NetworkAreaNetworkRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4Input)(nil)).Elem(), NetworkAreaRegionIpv4Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4PtrInput)(nil)).Elem(), NetworkAreaRegionIpv4Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRangeInput)(nil)).Elem(), NetworkAreaRegionIpv4NetworkRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRangeArrayInput)(nil)).Elem(), NetworkAreaRegionIpv4NetworkRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRouteDestinationInput)(nil)).Elem(), NetworkAreaRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRouteDestinationPtrInput)(nil)).Elem(), NetworkAreaRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRouteNextHopInput)(nil)).Elem(), NetworkAreaRouteNextHopArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*NetworkAreaRouteNextHopPtrInput)(nil)).Elem(), NetworkAreaRouteNextHopArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityAlertgroupRuleInput)(nil)).Elem(), ObservabilityAlertgroupRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityAlertgroupRuleArrayInput)(nil)).Elem(), ObservabilityAlertgroupRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*ObservabilityInstanceAlertConfigInput)(nil)).Elem(), ObservabilityInstanceAlertConfigArgs{}) @@ -19417,6 +20829,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*ServerBackupScheduleBackupPropertiesPtrInput)(nil)).Elem(), ServerBackupScheduleBackupPropertiesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerBootVolumeInput)(nil)).Elem(), ServerBootVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ServerBootVolumePtrInput)(nil)).Elem(), ServerBootVolumeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyRuleInput)(nil)).Elem(), SfsExportPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyRuleArrayInput)(nil)).Elem(), SfsExportPolicyRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsPtrInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsAclInput)(nil)).Elem(), SkeClusterExtensionsAclArgs{}) @@ -19484,6 +20898,11 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetMongodbflexInstanceStorageInput)(nil)).Elem(), GetMongodbflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaNetworkRangeInput)(nil)).Elem(), GetNetworkAreaNetworkRangeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaNetworkRangeArrayInput)(nil)).Elem(), GetNetworkAreaNetworkRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4Input)(nil)).Elem(), GetNetworkAreaRegionIpv4Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRangeInput)(nil)).Elem(), GetNetworkAreaRegionIpv4NetworkRangeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRangeArrayInput)(nil)).Elem(), GetNetworkAreaRegionIpv4NetworkRangeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRouteDestinationInput)(nil)).Elem(), GetNetworkAreaRouteDestinationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetNetworkAreaRouteNextHopInput)(nil)).Elem(), GetNetworkAreaRouteNextHopArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetObservabilityAlertgroupRuleInput)(nil)).Elem(), GetObservabilityAlertgroupRuleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetObservabilityAlertgroupRuleArrayInput)(nil)).Elem(), GetObservabilityAlertgroupRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetObservabilityInstanceAlertConfigInput)(nil)).Elem(), GetObservabilityInstanceAlertConfigArgs{}) @@ -19530,6 +20949,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetServerBootVolumeInput)(nil)).Elem(), GetServerBootVolumeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetServerUpdateSchedulesItemInput)(nil)).Elem(), GetServerUpdateSchedulesItemArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetServerUpdateSchedulesItemArrayInput)(nil)).Elem(), GetServerUpdateSchedulesItemArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSfsExportPolicyRuleInput)(nil)).Elem(), GetSfsExportPolicyRuleArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSfsExportPolicyRuleArrayInput)(nil)).Elem(), GetSfsExportPolicyRuleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshotInput)(nil)).Elem(), GetSfsResourcePoolSnapshotSnapshotArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshotArrayInput)(nil)).Elem(), GetSfsResourcePoolSnapshotSnapshotArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsInput)(nil)).Elem(), GetSkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsAclInput)(nil)).Elem(), GetSkeClusterExtensionsAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsArgusInput)(nil)).Elem(), GetSkeClusterExtensionsArgusArgs{}) @@ -19599,6 +21022,14 @@ func init() { pulumi.RegisterOutputType(MongodbflexInstanceStoragePtrOutput{}) pulumi.RegisterOutputType(NetworkAreaNetworkRangeOutput{}) pulumi.RegisterOutputType(NetworkAreaNetworkRangeArrayOutput{}) + pulumi.RegisterOutputType(NetworkAreaRegionIpv4Output{}) + pulumi.RegisterOutputType(NetworkAreaRegionIpv4PtrOutput{}) + pulumi.RegisterOutputType(NetworkAreaRegionIpv4NetworkRangeOutput{}) + pulumi.RegisterOutputType(NetworkAreaRegionIpv4NetworkRangeArrayOutput{}) + pulumi.RegisterOutputType(NetworkAreaRouteDestinationOutput{}) + pulumi.RegisterOutputType(NetworkAreaRouteDestinationPtrOutput{}) + pulumi.RegisterOutputType(NetworkAreaRouteNextHopOutput{}) + pulumi.RegisterOutputType(NetworkAreaRouteNextHopPtrOutput{}) pulumi.RegisterOutputType(ObservabilityAlertgroupRuleOutput{}) pulumi.RegisterOutputType(ObservabilityAlertgroupRuleArrayOutput{}) pulumi.RegisterOutputType(ObservabilityInstanceAlertConfigOutput{}) @@ -19649,6 +21080,8 @@ func init() { pulumi.RegisterOutputType(ServerBackupScheduleBackupPropertiesPtrOutput{}) pulumi.RegisterOutputType(ServerBootVolumeOutput{}) pulumi.RegisterOutputType(ServerBootVolumePtrOutput{}) + pulumi.RegisterOutputType(SfsExportPolicyRuleOutput{}) + pulumi.RegisterOutputType(SfsExportPolicyRuleArrayOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsAclOutput{}) @@ -19716,6 +21149,11 @@ func init() { pulumi.RegisterOutputType(GetMongodbflexInstanceStorageOutput{}) pulumi.RegisterOutputType(GetNetworkAreaNetworkRangeOutput{}) pulumi.RegisterOutputType(GetNetworkAreaNetworkRangeArrayOutput{}) + pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4Output{}) + pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4NetworkRangeOutput{}) + pulumi.RegisterOutputType(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput{}) + pulumi.RegisterOutputType(GetNetworkAreaRouteDestinationOutput{}) + pulumi.RegisterOutputType(GetNetworkAreaRouteNextHopOutput{}) pulumi.RegisterOutputType(GetObservabilityAlertgroupRuleOutput{}) pulumi.RegisterOutputType(GetObservabilityAlertgroupRuleArrayOutput{}) pulumi.RegisterOutputType(GetObservabilityInstanceAlertConfigOutput{}) @@ -19762,6 +21200,10 @@ func init() { pulumi.RegisterOutputType(GetServerBootVolumeOutput{}) pulumi.RegisterOutputType(GetServerUpdateSchedulesItemOutput{}) pulumi.RegisterOutputType(GetServerUpdateSchedulesItemArrayOutput{}) + pulumi.RegisterOutputType(GetSfsExportPolicyRuleOutput{}) + pulumi.RegisterOutputType(GetSfsExportPolicyRuleArrayOutput{}) + pulumi.RegisterOutputType(GetSfsResourcePoolSnapshotSnapshotOutput{}) + pulumi.RegisterOutputType(GetSfsResourcePoolSnapshotSnapshotArrayOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsAclOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsArgusOutput{}) diff --git a/sdk/go/stackit/securityGroup.go b/sdk/go/stackit/securityGroup.go index 652b67e..c14df42 100644 --- a/sdk/go/stackit/securityGroup.go +++ b/sdk/go/stackit/securityGroup.go @@ -26,6 +26,8 @@ type SecurityGroup struct { Name pulumi.StringOutput `pulumi:"name"` // STACKIT project ID to which the security group is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The security group ID. SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"` // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. @@ -73,6 +75,8 @@ type securityGroupState struct { Name *string `pulumi:"name"` // STACKIT project ID to which the security group is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The security group ID. SecurityGroupId *string `pulumi:"securityGroupId"` // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. @@ -88,6 +92,8 @@ type SecurityGroupState struct { Name pulumi.StringPtrInput // STACKIT project ID to which the security group is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The security group ID. SecurityGroupId pulumi.StringPtrInput // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. @@ -107,6 +113,8 @@ type securityGroupArgs struct { Name *string `pulumi:"name"` // STACKIT project ID to which the security group is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. Stateful *bool `pulumi:"stateful"` } @@ -121,6 +129,8 @@ type SecurityGroupArgs struct { Name pulumi.StringPtrInput // STACKIT project ID to which the security group is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. Stateful pulumi.BoolPtrInput } @@ -232,6 +242,11 @@ func (o SecurityGroupOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *SecurityGroup) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o SecurityGroupOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroup) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The security group ID. func (o SecurityGroupOutput) SecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v *SecurityGroup) pulumi.StringOutput { return v.SecurityGroupId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/securityGroupRule.go b/sdk/go/stackit/securityGroupRule.go index b4a28f1..41bb5f0 100644 --- a/sdk/go/stackit/securityGroupRule.go +++ b/sdk/go/stackit/securityGroupRule.go @@ -34,6 +34,8 @@ type SecurityGroupRule struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The internet protocol which the rule should match. Protocol SecurityGroupRuleProtocolOutput `pulumi:"protocol"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The remote security group which the rule should match. RemoteSecurityGroupId pulumi.StringPtrOutput `pulumi:"remoteSecurityGroupId"` // The security group ID. @@ -97,6 +99,8 @@ type securityGroupRuleState struct { ProjectId *string `pulumi:"projectId"` // The internet protocol which the rule should match. Protocol *SecurityGroupRuleProtocol `pulumi:"protocol"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The remote security group which the rule should match. RemoteSecurityGroupId *string `pulumi:"remoteSecurityGroupId"` // The security group ID. @@ -122,6 +126,8 @@ type SecurityGroupRuleState struct { ProjectId pulumi.StringPtrInput // The internet protocol which the rule should match. Protocol SecurityGroupRuleProtocolPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The remote security group which the rule should match. RemoteSecurityGroupId pulumi.StringPtrInput // The security group ID. @@ -151,6 +157,8 @@ type securityGroupRuleArgs struct { ProjectId string `pulumi:"projectId"` // The internet protocol which the rule should match. Protocol *SecurityGroupRuleProtocol `pulumi:"protocol"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The remote security group which the rule should match. RemoteSecurityGroupId *string `pulumi:"remoteSecurityGroupId"` // The security group ID. @@ -175,6 +183,8 @@ type SecurityGroupRuleArgs struct { ProjectId pulumi.StringInput // The internet protocol which the rule should match. Protocol SecurityGroupRuleProtocolPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The remote security group which the rule should match. RemoteSecurityGroupId pulumi.StringPtrInput // The security group ID. @@ -308,6 +318,11 @@ func (o SecurityGroupRuleOutput) Protocol() SecurityGroupRuleProtocolOutput { return o.ApplyT(func(v *SecurityGroupRule) SecurityGroupRuleProtocolOutput { return v.Protocol }).(SecurityGroupRuleProtocolOutput) } +// The resource region. If not defined, the provider region is used. +func (o SecurityGroupRuleOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SecurityGroupRule) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The remote security group which the rule should match. func (o SecurityGroupRuleOutput) RemoteSecurityGroupId() pulumi.StringPtrOutput { return o.ApplyT(func(v *SecurityGroupRule) pulumi.StringPtrOutput { return v.RemoteSecurityGroupId }).(pulumi.StringPtrOutput) diff --git a/sdk/go/stackit/server.go b/sdk/go/stackit/server.go index ba31daf..71d27b8 100644 --- a/sdk/go/stackit/server.go +++ b/sdk/go/stackit/server.go @@ -50,14 +50,16 @@ type Server struct { Labels pulumi.StringMapOutput `pulumi:"labels"` // Date-time when the server was launched LaunchedAt pulumi.StringOutput `pulumi:"launchedAt"` - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType pulumi.StringOutput `pulumi:"machineType"` // The name of the server. Name pulumi.StringOutput `pulumi:"name"` - // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** NetworkInterfaces pulumi.StringArrayOutput `pulumi:"networkInterfaces"` // STACKIT project ID to which the server is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The server ID. ServerId pulumi.StringOutput `pulumi:"serverId"` // Date-time when the server was updated @@ -120,14 +122,16 @@ type serverState struct { Labels map[string]string `pulumi:"labels"` // Date-time when the server was launched LaunchedAt *string `pulumi:"launchedAt"` - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType *string `pulumi:"machineType"` // The name of the server. Name *string `pulumi:"name"` - // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** NetworkInterfaces []string `pulumi:"networkInterfaces"` // STACKIT project ID to which the server is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId *string `pulumi:"serverId"` // Date-time when the server was updated @@ -155,14 +159,16 @@ type ServerState struct { Labels pulumi.StringMapInput // Date-time when the server was launched LaunchedAt pulumi.StringPtrInput - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType pulumi.StringPtrInput // The name of the server. Name pulumi.StringPtrInput - // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** NetworkInterfaces pulumi.StringArrayInput // STACKIT project ID to which the server is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringPtrInput // Date-time when the server was updated @@ -190,14 +196,16 @@ type serverArgs struct { KeypairName *string `pulumi:"keypairName"` // Labels are key-value string pairs which can be attached to a resource container Labels map[string]string `pulumi:"labels"` - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType string `pulumi:"machineType"` // The name of the server. Name *string `pulumi:"name"` - // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** NetworkInterfaces []string `pulumi:"networkInterfaces"` // STACKIT project ID to which the server is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // User data that is passed via cloud-init to the server. UserData *string `pulumi:"userData"` } @@ -218,14 +226,16 @@ type ServerArgs struct { KeypairName pulumi.StringPtrInput // Labels are key-value string pairs which can be attached to a resource container Labels pulumi.StringMapInput - // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + // Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) MachineType pulumi.StringInput // The name of the server. Name pulumi.StringPtrInput - // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + // The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** NetworkInterfaces pulumi.StringArrayInput // STACKIT project ID to which the server is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // User data that is passed via cloud-init to the server. UserData pulumi.StringPtrInput } @@ -362,7 +372,7 @@ func (o ServerOutput) LaunchedAt() pulumi.StringOutput { return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.LaunchedAt }).(pulumi.StringOutput) } -// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) +// Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) func (o ServerOutput) MachineType() pulumi.StringOutput { return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.MachineType }).(pulumi.StringOutput) } @@ -372,7 +382,7 @@ func (o ServerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. +// The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** func (o ServerOutput) NetworkInterfaces() pulumi.StringArrayOutput { return o.ApplyT(func(v *Server) pulumi.StringArrayOutput { return v.NetworkInterfaces }).(pulumi.StringArrayOutput) } @@ -382,6 +392,11 @@ func (o ServerOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o ServerOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The server ID. func (o ServerOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v *Server) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/serverNetworkInterfaceAttach.go b/sdk/go/stackit/serverNetworkInterfaceAttach.go index 0f995d9..52d0a27 100644 --- a/sdk/go/stackit/serverNetworkInterfaceAttach.go +++ b/sdk/go/stackit/serverNetworkInterfaceAttach.go @@ -12,7 +12,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot. +// Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot. // // ## Example Usage type ServerNetworkInterfaceAttach struct { @@ -22,6 +22,8 @@ type ServerNetworkInterfaceAttach struct { NetworkInterfaceId pulumi.StringOutput `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface attachment is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The server ID. ServerId pulumi.StringOutput `pulumi:"serverId"` } @@ -69,6 +71,8 @@ type serverNetworkInterfaceAttachState struct { NetworkInterfaceId *string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface attachment is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId *string `pulumi:"serverId"` } @@ -78,6 +82,8 @@ type ServerNetworkInterfaceAttachState struct { NetworkInterfaceId pulumi.StringPtrInput // STACKIT project ID to which the network interface attachment is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringPtrInput } @@ -91,6 +97,8 @@ type serverNetworkInterfaceAttachArgs struct { NetworkInterfaceId string `pulumi:"networkInterfaceId"` // STACKIT project ID to which the network interface attachment is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId string `pulumi:"serverId"` } @@ -101,6 +109,8 @@ type ServerNetworkInterfaceAttachArgs struct { NetworkInterfaceId pulumi.StringInput // STACKIT project ID to which the network interface attachment is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringInput } @@ -202,6 +212,11 @@ func (o ServerNetworkInterfaceAttachOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *ServerNetworkInterfaceAttach) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o ServerNetworkInterfaceAttachOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ServerNetworkInterfaceAttach) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The server ID. func (o ServerNetworkInterfaceAttachOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v *ServerNetworkInterfaceAttach) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/serverServiceAccountAttach.go b/sdk/go/stackit/serverServiceAccountAttach.go index 8b5cf55..9a97412 100644 --- a/sdk/go/stackit/serverServiceAccountAttach.go +++ b/sdk/go/stackit/serverServiceAccountAttach.go @@ -20,6 +20,8 @@ type ServerServiceAccountAttach struct { // STACKIT project ID to which the service account attachment is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The server ID. ServerId pulumi.StringOutput `pulumi:"serverId"` // The service account email. @@ -67,6 +69,8 @@ func GetServerServiceAccountAttach(ctx *pulumi.Context, type serverServiceAccountAttachState struct { // STACKIT project ID to which the service account attachment is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId *string `pulumi:"serverId"` // The service account email. @@ -76,6 +80,8 @@ type serverServiceAccountAttachState struct { type ServerServiceAccountAttachState struct { // STACKIT project ID to which the service account attachment is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringPtrInput // The service account email. @@ -89,6 +95,8 @@ func (ServerServiceAccountAttachState) ElementType() reflect.Type { type serverServiceAccountAttachArgs struct { // STACKIT project ID to which the service account attachment is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId string `pulumi:"serverId"` // The service account email. @@ -99,6 +107,8 @@ type serverServiceAccountAttachArgs struct { type ServerServiceAccountAttachArgs struct { // STACKIT project ID to which the service account attachment is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringInput // The service account email. @@ -197,6 +207,11 @@ func (o ServerServiceAccountAttachOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *ServerServiceAccountAttach) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o ServerServiceAccountAttachOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ServerServiceAccountAttach) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The server ID. func (o ServerServiceAccountAttachOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v *ServerServiceAccountAttach) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/serverVolumeAttach.go b/sdk/go/stackit/serverVolumeAttach.go index e63566e..f12d477 100644 --- a/sdk/go/stackit/serverVolumeAttach.go +++ b/sdk/go/stackit/serverVolumeAttach.go @@ -20,6 +20,8 @@ type ServerVolumeAttach struct { // STACKIT project ID to which the volume attachment is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The server ID. ServerId pulumi.StringOutput `pulumi:"serverId"` // The volume ID. @@ -67,6 +69,8 @@ func GetServerVolumeAttach(ctx *pulumi.Context, type serverVolumeAttachState struct { // STACKIT project ID to which the volume attachment is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId *string `pulumi:"serverId"` // The volume ID. @@ -76,6 +80,8 @@ type serverVolumeAttachState struct { type ServerVolumeAttachState struct { // STACKIT project ID to which the volume attachment is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringPtrInput // The volume ID. @@ -89,6 +95,8 @@ func (ServerVolumeAttachState) ElementType() reflect.Type { type serverVolumeAttachArgs struct { // STACKIT project ID to which the volume attachment is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID. ServerId string `pulumi:"serverId"` // The volume ID. @@ -99,6 +107,8 @@ type serverVolumeAttachArgs struct { type ServerVolumeAttachArgs struct { // STACKIT project ID to which the volume attachment is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID. ServerId pulumi.StringInput // The volume ID. @@ -197,6 +207,11 @@ func (o ServerVolumeAttachOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *ServerVolumeAttach) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o ServerVolumeAttachOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *ServerVolumeAttach) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The server ID. func (o ServerVolumeAttachOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v *ServerVolumeAttach) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/serviceAccountAccessToken.go b/sdk/go/stackit/serviceAccountAccessToken.go index 6294211..60a5c6d 100644 --- a/sdk/go/stackit/serviceAccountAccessToken.go +++ b/sdk/go/stackit/serviceAccountAccessToken.go @@ -14,7 +14,7 @@ import ( // Service account access token schema. // -// !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations. +// !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations. // // ## Example Usage // diff --git a/sdk/go/stackit/sfsExportPolicy.go b/sdk/go/stackit/sfsExportPolicy.go new file mode 100644 index 0000000..d1aa87f --- /dev/null +++ b/sdk/go/stackit/sfsExportPolicy.go @@ -0,0 +1,273 @@ +// 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" +) + +// SFS export policy resource schema. Must have a `region` specified in the provider configuration. +// +// > 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 SfsExportPolicy struct { + pulumi.CustomResourceState + + // Name of the export policy. + Name pulumi.StringOutput `pulumi:"name"` + // Export policy ID + PolicyId pulumi.StringOutput `pulumi:"policyId"` + // STACKIT project ID to which the export policy is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Rules SfsExportPolicyRuleArrayOutput `pulumi:"rules"` +} + +// NewSfsExportPolicy registers a new resource with the given unique name, arguments, and options. +func NewSfsExportPolicy(ctx *pulumi.Context, + name string, args *SfsExportPolicyArgs, opts ...pulumi.ResourceOption) (*SfsExportPolicy, 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'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SfsExportPolicy + err := ctx.RegisterResource("stackit:index/sfsExportPolicy:SfsExportPolicy", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSfsExportPolicy gets an existing SfsExportPolicy 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 GetSfsExportPolicy(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SfsExportPolicyState, opts ...pulumi.ResourceOption) (*SfsExportPolicy, error) { + var resource SfsExportPolicy + err := ctx.ReadResource("stackit:index/sfsExportPolicy:SfsExportPolicy", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SfsExportPolicy resources. +type sfsExportPolicyState struct { + // Name of the export policy. + Name *string `pulumi:"name"` + // Export policy ID + PolicyId *string `pulumi:"policyId"` + // STACKIT project ID to which the export policy is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Rules []SfsExportPolicyRule `pulumi:"rules"` +} + +type SfsExportPolicyState struct { + // Name of the export policy. + Name pulumi.StringPtrInput + // Export policy ID + PolicyId pulumi.StringPtrInput + // STACKIT project ID to which the export policy is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Rules SfsExportPolicyRuleArrayInput +} + +func (SfsExportPolicyState) ElementType() reflect.Type { + return reflect.TypeOf((*sfsExportPolicyState)(nil)).Elem() +} + +type sfsExportPolicyArgs struct { + // Name of the export policy. + Name *string `pulumi:"name"` + // STACKIT project ID to which the export policy is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Rules []SfsExportPolicyRule `pulumi:"rules"` +} + +// The set of arguments for constructing a SfsExportPolicy resource. +type SfsExportPolicyArgs struct { + // Name of the export policy. + Name pulumi.StringPtrInput + // STACKIT project ID to which the export policy is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Rules SfsExportPolicyRuleArrayInput +} + +func (SfsExportPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sfsExportPolicyArgs)(nil)).Elem() +} + +type SfsExportPolicyInput interface { + pulumi.Input + + ToSfsExportPolicyOutput() SfsExportPolicyOutput + ToSfsExportPolicyOutputWithContext(ctx context.Context) SfsExportPolicyOutput +} + +func (*SfsExportPolicy) ElementType() reflect.Type { + return reflect.TypeOf((**SfsExportPolicy)(nil)).Elem() +} + +func (i *SfsExportPolicy) ToSfsExportPolicyOutput() SfsExportPolicyOutput { + return i.ToSfsExportPolicyOutputWithContext(context.Background()) +} + +func (i *SfsExportPolicy) ToSfsExportPolicyOutputWithContext(ctx context.Context) SfsExportPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyOutput) +} + +// SfsExportPolicyArrayInput is an input type that accepts SfsExportPolicyArray and SfsExportPolicyArrayOutput values. +// You can construct a concrete instance of `SfsExportPolicyArrayInput` via: +// +// SfsExportPolicyArray{ SfsExportPolicyArgs{...} } +type SfsExportPolicyArrayInput interface { + pulumi.Input + + ToSfsExportPolicyArrayOutput() SfsExportPolicyArrayOutput + ToSfsExportPolicyArrayOutputWithContext(context.Context) SfsExportPolicyArrayOutput +} + +type SfsExportPolicyArray []SfsExportPolicyInput + +func (SfsExportPolicyArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsExportPolicy)(nil)).Elem() +} + +func (i SfsExportPolicyArray) ToSfsExportPolicyArrayOutput() SfsExportPolicyArrayOutput { + return i.ToSfsExportPolicyArrayOutputWithContext(context.Background()) +} + +func (i SfsExportPolicyArray) ToSfsExportPolicyArrayOutputWithContext(ctx context.Context) SfsExportPolicyArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyArrayOutput) +} + +// SfsExportPolicyMapInput is an input type that accepts SfsExportPolicyMap and SfsExportPolicyMapOutput values. +// You can construct a concrete instance of `SfsExportPolicyMapInput` via: +// +// SfsExportPolicyMap{ "key": SfsExportPolicyArgs{...} } +type SfsExportPolicyMapInput interface { + pulumi.Input + + ToSfsExportPolicyMapOutput() SfsExportPolicyMapOutput + ToSfsExportPolicyMapOutputWithContext(context.Context) SfsExportPolicyMapOutput +} + +type SfsExportPolicyMap map[string]SfsExportPolicyInput + +func (SfsExportPolicyMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsExportPolicy)(nil)).Elem() +} + +func (i SfsExportPolicyMap) ToSfsExportPolicyMapOutput() SfsExportPolicyMapOutput { + return i.ToSfsExportPolicyMapOutputWithContext(context.Background()) +} + +func (i SfsExportPolicyMap) ToSfsExportPolicyMapOutputWithContext(ctx context.Context) SfsExportPolicyMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyMapOutput) +} + +type SfsExportPolicyOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SfsExportPolicy)(nil)).Elem() +} + +func (o SfsExportPolicyOutput) ToSfsExportPolicyOutput() SfsExportPolicyOutput { + return o +} + +func (o SfsExportPolicyOutput) ToSfsExportPolicyOutputWithContext(ctx context.Context) SfsExportPolicyOutput { + return o +} + +// Name of the export policy. +func (o SfsExportPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Export policy ID +func (o SfsExportPolicyOutput) PolicyId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringOutput { return v.PolicyId }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the export policy is associated. +func (o SfsExportPolicyOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o SfsExportPolicyOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o SfsExportPolicyOutput) Rules() SfsExportPolicyRuleArrayOutput { + return o.ApplyT(func(v *SfsExportPolicy) SfsExportPolicyRuleArrayOutput { return v.Rules }).(SfsExportPolicyRuleArrayOutput) +} + +type SfsExportPolicyArrayOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsExportPolicy)(nil)).Elem() +} + +func (o SfsExportPolicyArrayOutput) ToSfsExportPolicyArrayOutput() SfsExportPolicyArrayOutput { + return o +} + +func (o SfsExportPolicyArrayOutput) ToSfsExportPolicyArrayOutputWithContext(ctx context.Context) SfsExportPolicyArrayOutput { + return o +} + +func (o SfsExportPolicyArrayOutput) Index(i pulumi.IntInput) SfsExportPolicyOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SfsExportPolicy { + return vs[0].([]*SfsExportPolicy)[vs[1].(int)] + }).(SfsExportPolicyOutput) +} + +type SfsExportPolicyMapOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsExportPolicy)(nil)).Elem() +} + +func (o SfsExportPolicyMapOutput) ToSfsExportPolicyMapOutput() SfsExportPolicyMapOutput { + return o +} + +func (o SfsExportPolicyMapOutput) ToSfsExportPolicyMapOutputWithContext(ctx context.Context) SfsExportPolicyMapOutput { + return o +} + +func (o SfsExportPolicyMapOutput) MapIndex(k pulumi.StringInput) SfsExportPolicyOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SfsExportPolicy { + return vs[0].(map[string]*SfsExportPolicy)[vs[1].(string)] + }).(SfsExportPolicyOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyInput)(nil)).Elem(), &SfsExportPolicy{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyArrayInput)(nil)).Elem(), SfsExportPolicyArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyMapInput)(nil)).Elem(), SfsExportPolicyMap{}) + pulumi.RegisterOutputType(SfsExportPolicyOutput{}) + pulumi.RegisterOutputType(SfsExportPolicyArrayOutput{}) + pulumi.RegisterOutputType(SfsExportPolicyMapOutput{}) +} diff --git a/sdk/go/stackit/sfsResourcePool.go b/sdk/go/stackit/sfsResourcePool.go new file mode 100644 index 0000000..464cd87 --- /dev/null +++ b/sdk/go/stackit/sfsResourcePool.go @@ -0,0 +1,351 @@ +// 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" +) + +// Resource-pool resource schema. Must have a `region` specified in the provider configuration. +// +// > 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 SfsResourcePool struct { + pulumi.CustomResourceState + + // Availability zone. + AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayOutput `pulumi:"ipAcls"` + // Name of the resource pool. + Name pulumi.StringOutput `pulumi:"name"` + // Name of the performance class. + PerformanceClass pulumi.StringOutput `pulumi:"performanceClass"` + // STACKIT project ID to which the resource pool is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // Resource pool ID + ResourcePoolId pulumi.StringOutput `pulumi:"resourcePoolId"` + // Size of the resource pool (unit: gigabytes) + SizeGigabytes pulumi.IntOutput `pulumi:"sizeGigabytes"` + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible pulumi.BoolOutput `pulumi:"snapshotsAreVisible"` +} + +// NewSfsResourcePool registers a new resource with the given unique name, arguments, and options. +func NewSfsResourcePool(ctx *pulumi.Context, + name string, args *SfsResourcePoolArgs, opts ...pulumi.ResourceOption) (*SfsResourcePool, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AvailabilityZone == nil { + return nil, errors.New("invalid value for required argument 'AvailabilityZone'") + } + if args.IpAcls == nil { + return nil, errors.New("invalid value for required argument 'IpAcls'") + } + if args.PerformanceClass == nil { + return nil, errors.New("invalid value for required argument 'PerformanceClass'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.SizeGigabytes == nil { + return nil, errors.New("invalid value for required argument 'SizeGigabytes'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SfsResourcePool + err := ctx.RegisterResource("stackit:index/sfsResourcePool:SfsResourcePool", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSfsResourcePool gets an existing SfsResourcePool 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 GetSfsResourcePool(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SfsResourcePoolState, opts ...pulumi.ResourceOption) (*SfsResourcePool, error) { + var resource SfsResourcePool + err := ctx.ReadResource("stackit:index/sfsResourcePool:SfsResourcePool", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SfsResourcePool resources. +type sfsResourcePoolState struct { + // Availability zone. + AvailabilityZone *string `pulumi:"availabilityZone"` + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Name of the resource pool. + Name *string `pulumi:"name"` + // Name of the performance class. + PerformanceClass *string `pulumi:"performanceClass"` + // STACKIT project ID to which the resource pool is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Resource pool ID + ResourcePoolId *string `pulumi:"resourcePoolId"` + // Size of the resource pool (unit: gigabytes) + SizeGigabytes *int `pulumi:"sizeGigabytes"` + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible *bool `pulumi:"snapshotsAreVisible"` +} + +type SfsResourcePoolState struct { + // Availability zone. + AvailabilityZone pulumi.StringPtrInput + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput + // Name of the resource pool. + Name pulumi.StringPtrInput + // Name of the performance class. + PerformanceClass pulumi.StringPtrInput + // STACKIT project ID to which the resource pool is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Resource pool ID + ResourcePoolId pulumi.StringPtrInput + // Size of the resource pool (unit: gigabytes) + SizeGigabytes pulumi.IntPtrInput + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible pulumi.BoolPtrInput +} + +func (SfsResourcePoolState) ElementType() reflect.Type { + return reflect.TypeOf((*sfsResourcePoolState)(nil)).Elem() +} + +type sfsResourcePoolArgs struct { + // Availability zone. + AvailabilityZone string `pulumi:"availabilityZone"` + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Name of the resource pool. + Name *string `pulumi:"name"` + // Name of the performance class. + PerformanceClass string `pulumi:"performanceClass"` + // STACKIT project ID to which the resource pool is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // Size of the resource pool (unit: gigabytes) + SizeGigabytes int `pulumi:"sizeGigabytes"` + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible *bool `pulumi:"snapshotsAreVisible"` +} + +// The set of arguments for constructing a SfsResourcePool resource. +type SfsResourcePoolArgs struct { + // Availability zone. + AvailabilityZone pulumi.StringInput + // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput + // Name of the resource pool. + Name pulumi.StringPtrInput + // Name of the performance class. + PerformanceClass pulumi.StringInput + // STACKIT project ID to which the resource pool is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Size of the resource pool (unit: gigabytes) + SizeGigabytes pulumi.IntInput + // If set to true, snapshots are visible and accessible to users. (default: false) + SnapshotsAreVisible pulumi.BoolPtrInput +} + +func (SfsResourcePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sfsResourcePoolArgs)(nil)).Elem() +} + +type SfsResourcePoolInput interface { + pulumi.Input + + ToSfsResourcePoolOutput() SfsResourcePoolOutput + ToSfsResourcePoolOutputWithContext(ctx context.Context) SfsResourcePoolOutput +} + +func (*SfsResourcePool) ElementType() reflect.Type { + return reflect.TypeOf((**SfsResourcePool)(nil)).Elem() +} + +func (i *SfsResourcePool) ToSfsResourcePoolOutput() SfsResourcePoolOutput { + return i.ToSfsResourcePoolOutputWithContext(context.Background()) +} + +func (i *SfsResourcePool) ToSfsResourcePoolOutputWithContext(ctx context.Context) SfsResourcePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolOutput) +} + +// SfsResourcePoolArrayInput is an input type that accepts SfsResourcePoolArray and SfsResourcePoolArrayOutput values. +// You can construct a concrete instance of `SfsResourcePoolArrayInput` via: +// +// SfsResourcePoolArray{ SfsResourcePoolArgs{...} } +type SfsResourcePoolArrayInput interface { + pulumi.Input + + ToSfsResourcePoolArrayOutput() SfsResourcePoolArrayOutput + ToSfsResourcePoolArrayOutputWithContext(context.Context) SfsResourcePoolArrayOutput +} + +type SfsResourcePoolArray []SfsResourcePoolInput + +func (SfsResourcePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsResourcePool)(nil)).Elem() +} + +func (i SfsResourcePoolArray) ToSfsResourcePoolArrayOutput() SfsResourcePoolArrayOutput { + return i.ToSfsResourcePoolArrayOutputWithContext(context.Background()) +} + +func (i SfsResourcePoolArray) ToSfsResourcePoolArrayOutputWithContext(ctx context.Context) SfsResourcePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolArrayOutput) +} + +// SfsResourcePoolMapInput is an input type that accepts SfsResourcePoolMap and SfsResourcePoolMapOutput values. +// You can construct a concrete instance of `SfsResourcePoolMapInput` via: +// +// SfsResourcePoolMap{ "key": SfsResourcePoolArgs{...} } +type SfsResourcePoolMapInput interface { + pulumi.Input + + ToSfsResourcePoolMapOutput() SfsResourcePoolMapOutput + ToSfsResourcePoolMapOutputWithContext(context.Context) SfsResourcePoolMapOutput +} + +type SfsResourcePoolMap map[string]SfsResourcePoolInput + +func (SfsResourcePoolMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsResourcePool)(nil)).Elem() +} + +func (i SfsResourcePoolMap) ToSfsResourcePoolMapOutput() SfsResourcePoolMapOutput { + return i.ToSfsResourcePoolMapOutputWithContext(context.Background()) +} + +func (i SfsResourcePoolMap) ToSfsResourcePoolMapOutputWithContext(ctx context.Context) SfsResourcePoolMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolMapOutput) +} + +type SfsResourcePoolOutput struct{ *pulumi.OutputState } + +func (SfsResourcePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SfsResourcePool)(nil)).Elem() +} + +func (o SfsResourcePoolOutput) ToSfsResourcePoolOutput() SfsResourcePoolOutput { + return o +} + +func (o SfsResourcePoolOutput) ToSfsResourcePoolOutputWithContext(ctx context.Context) SfsResourcePoolOutput { + return o +} + +// Availability zone. +func (o SfsResourcePoolOutput) AvailabilityZone() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.AvailabilityZone }).(pulumi.StringOutput) +} + +// List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o SfsResourcePoolOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringArrayOutput { return v.IpAcls }).(pulumi.StringArrayOutput) +} + +// Name of the resource pool. +func (o SfsResourcePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// Name of the performance class. +func (o SfsResourcePoolOutput) PerformanceClass() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.PerformanceClass }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the resource pool is associated. +func (o SfsResourcePoolOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o SfsResourcePoolOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Resource pool ID +func (o SfsResourcePoolOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// Size of the resource pool (unit: gigabytes) +func (o SfsResourcePoolOutput) SizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.IntOutput { return v.SizeGigabytes }).(pulumi.IntOutput) +} + +// If set to true, snapshots are visible and accessible to users. (default: false) +func (o SfsResourcePoolOutput) SnapshotsAreVisible() pulumi.BoolOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.BoolOutput { return v.SnapshotsAreVisible }).(pulumi.BoolOutput) +} + +type SfsResourcePoolArrayOutput struct{ *pulumi.OutputState } + +func (SfsResourcePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsResourcePool)(nil)).Elem() +} + +func (o SfsResourcePoolArrayOutput) ToSfsResourcePoolArrayOutput() SfsResourcePoolArrayOutput { + return o +} + +func (o SfsResourcePoolArrayOutput) ToSfsResourcePoolArrayOutputWithContext(ctx context.Context) SfsResourcePoolArrayOutput { + return o +} + +func (o SfsResourcePoolArrayOutput) Index(i pulumi.IntInput) SfsResourcePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SfsResourcePool { + return vs[0].([]*SfsResourcePool)[vs[1].(int)] + }).(SfsResourcePoolOutput) +} + +type SfsResourcePoolMapOutput struct{ *pulumi.OutputState } + +func (SfsResourcePoolMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsResourcePool)(nil)).Elem() +} + +func (o SfsResourcePoolMapOutput) ToSfsResourcePoolMapOutput() SfsResourcePoolMapOutput { + return o +} + +func (o SfsResourcePoolMapOutput) ToSfsResourcePoolMapOutputWithContext(ctx context.Context) SfsResourcePoolMapOutput { + return o +} + +func (o SfsResourcePoolMapOutput) MapIndex(k pulumi.StringInput) SfsResourcePoolOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SfsResourcePool { + return vs[0].(map[string]*SfsResourcePool)[vs[1].(string)] + }).(SfsResourcePoolOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SfsResourcePoolInput)(nil)).Elem(), &SfsResourcePool{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsResourcePoolArrayInput)(nil)).Elem(), SfsResourcePoolArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsResourcePoolMapInput)(nil)).Elem(), SfsResourcePoolMap{}) + pulumi.RegisterOutputType(SfsResourcePoolOutput{}) + pulumi.RegisterOutputType(SfsResourcePoolArrayOutput{}) + pulumi.RegisterOutputType(SfsResourcePoolMapOutput{}) +} diff --git a/sdk/go/stackit/sfsShare.go b/sdk/go/stackit/sfsShare.go new file mode 100644 index 0000000..5c0d6c9 --- /dev/null +++ b/sdk/go/stackit/sfsShare.go @@ -0,0 +1,360 @@ +// 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" +) + +// SFS Share schema. Must have a `region` specified in the provider configuration. +// +// > 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 SfsShare struct { + pulumi.CustomResourceState + + // Name of the Share Export Policy to use in the Share. + // Note that if this is set to an empty string, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy pulumi.StringOutput `pulumi:"exportPolicy"` + // Mount path of the Share, used to mount the Share + MountPath pulumi.StringOutput `pulumi:"mountPath"` + // Name of the share. + Name pulumi.StringOutput `pulumi:"name"` + // STACKIT project ID to which the share is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId pulumi.StringOutput `pulumi:"resourcePoolId"` + // share ID + ShareId pulumi.StringOutput `pulumi:"shareId"` + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes pulumi.IntOutput `pulumi:"spaceHardLimitGigabytes"` +} + +// NewSfsShare registers a new resource with the given unique name, arguments, and options. +func NewSfsShare(ctx *pulumi.Context, + name string, args *SfsShareArgs, opts ...pulumi.ResourceOption) (*SfsShare, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.ExportPolicy == nil { + return nil, errors.New("invalid value for required argument 'ExportPolicy'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.ResourcePoolId == nil { + return nil, errors.New("invalid value for required argument 'ResourcePoolId'") + } + if args.SpaceHardLimitGigabytes == nil { + return nil, errors.New("invalid value for required argument 'SpaceHardLimitGigabytes'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource SfsShare + err := ctx.RegisterResource("stackit:index/sfsShare:SfsShare", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetSfsShare gets an existing SfsShare 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 GetSfsShare(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *SfsShareState, opts ...pulumi.ResourceOption) (*SfsShare, error) { + var resource SfsShare + err := ctx.ReadResource("stackit:index/sfsShare:SfsShare", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering SfsShare resources. +type sfsShareState struct { + // Name of the Share Export Policy to use in the Share. + // Note that if this is set to an empty string, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy *string `pulumi:"exportPolicy"` + // Mount path of the Share, used to mount the Share + MountPath *string `pulumi:"mountPath"` + // Name of the share. + Name *string `pulumi:"name"` + // STACKIT project ID to which the share is associated. + ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId *string `pulumi:"resourcePoolId"` + // share ID + ShareId *string `pulumi:"shareId"` + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes *int `pulumi:"spaceHardLimitGigabytes"` +} + +type SfsShareState struct { + // Name of the Share Export Policy to use in the Share. + // Note that if this is set to an empty string, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy pulumi.StringPtrInput + // Mount path of the Share, used to mount the Share + MountPath pulumi.StringPtrInput + // Name of the share. + Name pulumi.StringPtrInput + // STACKIT project ID to which the share is associated. + ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The ID of the resource pool for the SFS share. + ResourcePoolId pulumi.StringPtrInput + // share ID + ShareId pulumi.StringPtrInput + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes pulumi.IntPtrInput +} + +func (SfsShareState) ElementType() reflect.Type { + return reflect.TypeOf((*sfsShareState)(nil)).Elem() +} + +type sfsShareArgs struct { + // Name of the Share Export Policy to use in the Share. + // Note that if this is set to an empty string, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy string `pulumi:"exportPolicy"` + // Name of the share. + Name *string `pulumi:"name"` + // STACKIT project ID to which the share is associated. + ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The ID of the resource pool for the SFS share. + ResourcePoolId string `pulumi:"resourcePoolId"` + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes int `pulumi:"spaceHardLimitGigabytes"` +} + +// The set of arguments for constructing a SfsShare resource. +type SfsShareArgs struct { + // Name of the Share Export Policy to use in the Share. + // Note that if this is set to an empty string, the Share can only be mounted in read only by + // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + // You can also assign a Share Export Policy after creating the Share + ExportPolicy pulumi.StringInput + // Name of the share. + Name pulumi.StringPtrInput + // STACKIT project ID to which the share is associated. + ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The ID of the resource pool for the SFS share. + ResourcePoolId pulumi.StringInput + // Space hard limit for the Share. + // If zero, the Share will have access to the full space of the Resource Pool it lives in. + // (unit: gigabytes) + SpaceHardLimitGigabytes pulumi.IntInput +} + +func (SfsShareArgs) ElementType() reflect.Type { + return reflect.TypeOf((*sfsShareArgs)(nil)).Elem() +} + +type SfsShareInput interface { + pulumi.Input + + ToSfsShareOutput() SfsShareOutput + ToSfsShareOutputWithContext(ctx context.Context) SfsShareOutput +} + +func (*SfsShare) ElementType() reflect.Type { + return reflect.TypeOf((**SfsShare)(nil)).Elem() +} + +func (i *SfsShare) ToSfsShareOutput() SfsShareOutput { + return i.ToSfsShareOutputWithContext(context.Background()) +} + +func (i *SfsShare) ToSfsShareOutputWithContext(ctx context.Context) SfsShareOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsShareOutput) +} + +// SfsShareArrayInput is an input type that accepts SfsShareArray and SfsShareArrayOutput values. +// You can construct a concrete instance of `SfsShareArrayInput` via: +// +// SfsShareArray{ SfsShareArgs{...} } +type SfsShareArrayInput interface { + pulumi.Input + + ToSfsShareArrayOutput() SfsShareArrayOutput + ToSfsShareArrayOutputWithContext(context.Context) SfsShareArrayOutput +} + +type SfsShareArray []SfsShareInput + +func (SfsShareArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsShare)(nil)).Elem() +} + +func (i SfsShareArray) ToSfsShareArrayOutput() SfsShareArrayOutput { + return i.ToSfsShareArrayOutputWithContext(context.Background()) +} + +func (i SfsShareArray) ToSfsShareArrayOutputWithContext(ctx context.Context) SfsShareArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsShareArrayOutput) +} + +// SfsShareMapInput is an input type that accepts SfsShareMap and SfsShareMapOutput values. +// You can construct a concrete instance of `SfsShareMapInput` via: +// +// SfsShareMap{ "key": SfsShareArgs{...} } +type SfsShareMapInput interface { + pulumi.Input + + ToSfsShareMapOutput() SfsShareMapOutput + ToSfsShareMapOutputWithContext(context.Context) SfsShareMapOutput +} + +type SfsShareMap map[string]SfsShareInput + +func (SfsShareMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsShare)(nil)).Elem() +} + +func (i SfsShareMap) ToSfsShareMapOutput() SfsShareMapOutput { + return i.ToSfsShareMapOutputWithContext(context.Background()) +} + +func (i SfsShareMap) ToSfsShareMapOutputWithContext(ctx context.Context) SfsShareMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsShareMapOutput) +} + +type SfsShareOutput struct{ *pulumi.OutputState } + +func (SfsShareOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SfsShare)(nil)).Elem() +} + +func (o SfsShareOutput) ToSfsShareOutput() SfsShareOutput { + return o +} + +func (o SfsShareOutput) ToSfsShareOutputWithContext(ctx context.Context) SfsShareOutput { + return o +} + +// Name of the Share Export Policy to use in the Share. +// Note that if this is set to an empty string, the Share can only be mounted in read only by +// clients with IPs matching the IP ACL of the Resource Pool hosting this Share. +// You can also assign a Share Export Policy after creating the Share +func (o SfsShareOutput) ExportPolicy() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.ExportPolicy }).(pulumi.StringOutput) +} + +// Mount path of the Share, used to mount the Share +func (o SfsShareOutput) MountPath() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.MountPath }).(pulumi.StringOutput) +} + +// Name of the share. +func (o SfsShareOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT project ID to which the share is associated. +func (o SfsShareOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The resource region. If not defined, the provider region is used. +func (o SfsShareOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The ID of the resource pool for the SFS share. +func (o SfsShareOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.ResourcePoolId }).(pulumi.StringOutput) +} + +// share ID +func (o SfsShareOutput) ShareId() pulumi.StringOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.ShareId }).(pulumi.StringOutput) +} + +// Space hard limit for the Share. +// +// If zero, the Share will have access to the full space of the Resource Pool it lives in. +// (unit: gigabytes) +func (o SfsShareOutput) SpaceHardLimitGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v *SfsShare) pulumi.IntOutput { return v.SpaceHardLimitGigabytes }).(pulumi.IntOutput) +} + +type SfsShareArrayOutput struct{ *pulumi.OutputState } + +func (SfsShareArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*SfsShare)(nil)).Elem() +} + +func (o SfsShareArrayOutput) ToSfsShareArrayOutput() SfsShareArrayOutput { + return o +} + +func (o SfsShareArrayOutput) ToSfsShareArrayOutputWithContext(ctx context.Context) SfsShareArrayOutput { + return o +} + +func (o SfsShareArrayOutput) Index(i pulumi.IntInput) SfsShareOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *SfsShare { + return vs[0].([]*SfsShare)[vs[1].(int)] + }).(SfsShareOutput) +} + +type SfsShareMapOutput struct{ *pulumi.OutputState } + +func (SfsShareMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*SfsShare)(nil)).Elem() +} + +func (o SfsShareMapOutput) ToSfsShareMapOutput() SfsShareMapOutput { + return o +} + +func (o SfsShareMapOutput) ToSfsShareMapOutputWithContext(ctx context.Context) SfsShareMapOutput { + return o +} + +func (o SfsShareMapOutput) MapIndex(k pulumi.StringInput) SfsShareOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *SfsShare { + return vs[0].(map[string]*SfsShare)[vs[1].(string)] + }).(SfsShareOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*SfsShareInput)(nil)).Elem(), &SfsShare{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsShareArrayInput)(nil)).Elem(), SfsShareArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*SfsShareMapInput)(nil)).Elem(), SfsShareMap{}) + pulumi.RegisterOutputType(SfsShareOutput{}) + pulumi.RegisterOutputType(SfsShareArrayOutput{}) + pulumi.RegisterOutputType(SfsShareMapOutput{}) +} diff --git a/sdk/go/stackit/skeCluster.go b/sdk/go/stackit/skeCluster.go index 2fa8169..ebb0146 100644 --- a/sdk/go/stackit/skeCluster.go +++ b/sdk/go/stackit/skeCluster.go @@ -26,9 +26,9 @@ type SkeCluster struct { Extensions SkeClusterExtensionsPtrOutput `pulumi:"extensions"` // One or more hibernation block as defined below. Hibernations SkeClusterHibernationArrayOutput `pulumi:"hibernations"` - // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. KubernetesVersionMin pulumi.StringPtrOutput `pulumi:"kubernetesVersionMin"` - // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). KubernetesVersionUsed pulumi.StringOutput `pulumi:"kubernetesVersionUsed"` // A single maintenance block as defined below. Maintenance SkeClusterMaintenanceOutput `pulumi:"maintenance"` @@ -88,9 +88,9 @@ type skeClusterState struct { Extensions *SkeClusterExtensions `pulumi:"extensions"` // One or more hibernation block as defined below. Hibernations []SkeClusterHibernation `pulumi:"hibernations"` - // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. KubernetesVersionMin *string `pulumi:"kubernetesVersionMin"` - // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). KubernetesVersionUsed *string `pulumi:"kubernetesVersionUsed"` // A single maintenance block as defined below. Maintenance *SkeClusterMaintenance `pulumi:"maintenance"` @@ -115,9 +115,9 @@ type SkeClusterState struct { Extensions SkeClusterExtensionsPtrInput // One or more hibernation block as defined below. Hibernations SkeClusterHibernationArrayInput - // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. KubernetesVersionMin pulumi.StringPtrInput - // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + // Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). KubernetesVersionUsed pulumi.StringPtrInput // A single maintenance block as defined below. Maintenance SkeClusterMaintenancePtrInput @@ -144,7 +144,7 @@ type skeClusterArgs struct { Extensions *SkeClusterExtensions `pulumi:"extensions"` // One or more hibernation block as defined below. Hibernations []SkeClusterHibernation `pulumi:"hibernations"` - // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. KubernetesVersionMin *string `pulumi:"kubernetesVersionMin"` // A single maintenance block as defined below. Maintenance *SkeClusterMaintenance `pulumi:"maintenance"` @@ -166,7 +166,7 @@ type SkeClusterArgs struct { Extensions SkeClusterExtensionsPtrInput // One or more hibernation block as defined below. Hibernations SkeClusterHibernationArrayInput - // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + // The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. KubernetesVersionMin pulumi.StringPtrInput // A single maintenance block as defined below. Maintenance SkeClusterMaintenancePtrInput @@ -284,12 +284,12 @@ func (o SkeClusterOutput) Hibernations() SkeClusterHibernationArrayOutput { return o.ApplyT(func(v *SkeCluster) SkeClusterHibernationArrayOutput { return v.Hibernations }).(SkeClusterHibernationArrayOutput) } -// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. +// The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. func (o SkeClusterOutput) KubernetesVersionMin() pulumi.StringPtrOutput { return o.ApplyT(func(v *SkeCluster) pulumi.StringPtrOutput { return v.KubernetesVersionMin }).(pulumi.StringPtrOutput) } -// Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). +// Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). func (o SkeClusterOutput) KubernetesVersionUsed() pulumi.StringOutput { return o.ApplyT(func(v *SkeCluster) pulumi.StringOutput { return v.KubernetesVersionUsed }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/volume.go b/sdk/go/stackit/volume.go index f1cc7df..51470dc 100644 --- a/sdk/go/stackit/volume.go +++ b/sdk/go/stackit/volume.go @@ -26,10 +26,12 @@ type Volume struct { Labels pulumi.StringMapOutput `pulumi:"labels"` // The name of the volume. Name pulumi.StringOutput `pulumi:"name"` - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass pulumi.StringOutput `pulumi:"performanceClass"` // STACKIT project ID to which the volume is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` // The server ID of the server to which the volume is attached to. ServerId pulumi.StringOutput `pulumi:"serverId"` // The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided @@ -84,10 +86,12 @@ type volumeState struct { Labels map[string]string `pulumi:"labels"` // The name of the volume. Name *string `pulumi:"name"` - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass *string `pulumi:"performanceClass"` // STACKIT project ID to which the volume is associated. ProjectId *string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The server ID of the server to which the volume is attached to. ServerId *string `pulumi:"serverId"` // The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided @@ -107,10 +111,12 @@ type VolumeState struct { Labels pulumi.StringMapInput // The name of the volume. Name pulumi.StringPtrInput - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass pulumi.StringPtrInput // STACKIT project ID to which the volume is associated. ProjectId pulumi.StringPtrInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The server ID of the server to which the volume is attached to. ServerId pulumi.StringPtrInput // The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided @@ -134,10 +140,12 @@ type volumeArgs struct { Labels map[string]string `pulumi:"labels"` // The name of the volume. Name *string `pulumi:"name"` - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass *string `pulumi:"performanceClass"` // STACKIT project ID to which the volume is associated. ProjectId string `pulumi:"projectId"` + // The resource region. If not defined, the provider region is used. + Region *string `pulumi:"region"` // The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided Size *int `pulumi:"size"` // The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided @@ -154,10 +162,12 @@ type VolumeArgs struct { Labels pulumi.StringMapInput // The name of the volume. Name pulumi.StringPtrInput - // The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + // 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) PerformanceClass pulumi.StringPtrInput // STACKIT project ID to which the volume is associated. ProjectId pulumi.StringInput + // The resource region. If not defined, the provider region is used. + Region pulumi.StringPtrInput // The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided Size pulumi.IntPtrInput // The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided @@ -271,7 +281,7 @@ func (o VolumeOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) } -// The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) +// 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) func (o VolumeOutput) PerformanceClass() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.PerformanceClass }).(pulumi.StringOutput) } @@ -281,6 +291,11 @@ func (o VolumeOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// The resource region. If not defined, the provider region is used. +func (o VolumeOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + // The server ID of the server to which the volume is attached to. func (o VolumeOutput) ServerId() pulumi.StringOutput { return o.ApplyT(func(v *Volume) pulumi.StringOutput { return v.ServerId }).(pulumi.StringOutput) diff --git a/sdk/nodejs/Pulumi.yaml b/sdk/nodejs/Pulumi.yaml index e69de29..18cd4ae 100644 --- a/sdk/nodejs/Pulumi.yaml +++ b/sdk/nodejs/Pulumi.yaml @@ -0,0 +1,3 @@ +name: stackit +description: A Pulumi resource provider for stackit. +language: nodejs diff --git a/sdk/nodejs/affinityGroup.ts b/sdk/nodejs/affinityGroup.ts index 56054dc..6cc0719 100644 --- a/sdk/nodejs/affinityGroup.ts +++ b/sdk/nodejs/affinityGroup.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Affinity Group schema. Must have a `region` specified in the provider configuration. + * Affinity Group schema. * * ## Example Usage */ @@ -57,6 +57,10 @@ export class AffinityGroup extends pulumi.CustomResource { * STACKIT Project ID to which the affinity group is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * Create a AffinityGroup resource with the given unique name, arguments, and options. @@ -76,6 +80,7 @@ export class AffinityGroup extends pulumi.CustomResource { resourceInputs["name"] = state?.name; resourceInputs["policy"] = state?.policy; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; } else { const args = argsOrState as AffinityGroupArgs | undefined; if (args?.policy === undefined && !opts.urn) { @@ -87,6 +92,7 @@ export class AffinityGroup extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["policy"] = args?.policy; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["affinityGroupId"] = undefined /*out*/; resourceInputs["members"] = undefined /*out*/; } @@ -119,6 +125,10 @@ export interface AffinityGroupState { * STACKIT Project ID to which the affinity group is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } /** @@ -137,4 +147,8 @@ export interface AffinityGroupArgs { * STACKIT Project ID to which the affinity group is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 2fdecdf..f67cc0e 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -392,6 +392,17 @@ Object.defineProperty(exports, "serviceEnablementCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Stackit Filestorage API + */ +export declare const sfsCustomEndpoint: string | undefined; +Object.defineProperty(exports, "sfsCustomEndpoint", { + get() { + return __config.get("sfsCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the Kubernetes Engine (SKE) service */ diff --git a/sdk/nodejs/getAffinityGroup.ts b/sdk/nodejs/getAffinityGroup.ts index 8b0426d..d4d3a7c 100644 --- a/sdk/nodejs/getAffinityGroup.ts +++ b/sdk/nodejs/getAffinityGroup.ts @@ -14,6 +14,7 @@ export function getAffinityGroup(args: GetAffinityGroupArgs, opts?: pulumi.Invok return pulumi.runtime.invoke("stackit:index/getAffinityGroup:getAffinityGroup", { "affinityGroupId": args.affinityGroupId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -29,6 +30,10 @@ export interface GetAffinityGroupArgs { * STACKIT Project ID to which the affinity group is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -56,6 +61,10 @@ export interface GetAffinityGroupResult { * STACKIT Project ID to which the affinity group is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; } /** * Affinity Group schema. Must have a `region` specified in the provider configuration. @@ -67,6 +76,7 @@ export function getAffinityGroupOutput(args: GetAffinityGroupOutputArgs, opts?: return pulumi.runtime.invokeOutput("stackit:index/getAffinityGroup:getAffinityGroup", { "affinityGroupId": args.affinityGroupId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -82,4 +92,8 @@ export interface GetAffinityGroupOutputArgs { * STACKIT Project ID to which the affinity group is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getIaasProject.ts b/sdk/nodejs/getIaasProject.ts index 9baa02f..b6a5499 100644 --- a/sdk/nodejs/getIaasProject.ts +++ b/sdk/nodejs/getIaasProject.ts @@ -48,9 +48,15 @@ export interface GetIaasProjectResult { */ readonly projectId: string; /** - * Specifies the state of the project. + * Specifies the status of the project. + * + * @deprecated Deprecated: Will be removed in May 2026. Use the `status` field instead. */ readonly state: string; + /** + * Specifies the status of the project. + */ + readonly status: string; /** * Date-time when the project was last updated. */ diff --git a/sdk/nodejs/getImage.ts b/sdk/nodejs/getImage.ts index e08a276..b751b4a 100644 --- a/sdk/nodejs/getImage.ts +++ b/sdk/nodejs/getImage.ts @@ -16,6 +16,7 @@ export function getImage(args: GetImageArgs, opts?: pulumi.InvokeOptions): Promi return pulumi.runtime.invoke("stackit:index/getImage:getImage", { "imageId": args.imageId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -31,6 +32,10 @@ export interface GetImageArgs { * STACKIT project ID to which the image is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -78,6 +83,10 @@ export interface GetImageResult { * Whether the image is protected. */ readonly protected: boolean; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The scope of the image. */ @@ -93,6 +102,7 @@ export function getImageOutput(args: GetImageOutputArgs, opts?: pulumi.InvokeOut return pulumi.runtime.invokeOutput("stackit:index/getImage:getImage", { "imageId": args.imageId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -108,4 +118,8 @@ export interface GetImageOutputArgs { * STACKIT project ID to which the image is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getImageV2.ts b/sdk/nodejs/getImageV2.ts index b891f93..b9fb4f5 100644 --- a/sdk/nodejs/getImageV2.ts +++ b/sdk/nodejs/getImageV2.ts @@ -17,6 +17,7 @@ export function getImageV2(args: GetImageV2Args, opts?: pulumi.InvokeOptions): P "name": args.name, "nameRegex": args.nameRegex, "projectId": args.projectId, + "region": args.region, "sortAscending": args.sortAscending, }, opts); } @@ -45,6 +46,10 @@ export interface GetImageV2Args { * STACKIT project ID to which the image is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; /** * If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). */ @@ -104,6 +109,10 @@ export interface GetImageV2Result { * Whether the image is protected. */ readonly protected: boolean; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The scope of the image. */ @@ -124,6 +133,7 @@ export function getImageV2Output(args: GetImageV2OutputArgs, opts?: pulumi.Invok "name": args.name, "nameRegex": args.nameRegex, "projectId": args.projectId, + "region": args.region, "sortAscending": args.sortAscending, }, opts); } @@ -152,6 +162,10 @@ export interface GetImageV2OutputArgs { * STACKIT project ID to which the image is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). */ diff --git a/sdk/nodejs/getMachineType.ts b/sdk/nodejs/getMachineType.ts index 2c2b80f..21dc1bf 100644 --- a/sdk/nodejs/getMachineType.ts +++ b/sdk/nodejs/getMachineType.ts @@ -16,6 +16,7 @@ export function getMachineType(args: GetMachineTypeArgs, opts?: pulumi.InvokeOpt return pulumi.runtime.invoke("stackit:index/getMachineType:getMachineType", { "filter": args.filter, "projectId": args.projectId, + "region": args.region, "sortAscending": args.sortAscending, }, opts); } @@ -29,6 +30,7 @@ export interface GetMachineTypeArgs { */ filter: string; projectId: string; + region?: string; sortAscending?: boolean; } @@ -47,6 +49,7 @@ export interface GetMachineTypeResult { readonly name: string; readonly projectId: string; readonly ram: number; + readonly region?: string; readonly sortAscending?: boolean; readonly vcpus: number; } @@ -62,6 +65,7 @@ export function getMachineTypeOutput(args: GetMachineTypeOutputArgs, opts?: pulu return pulumi.runtime.invokeOutput("stackit:index/getMachineType:getMachineType", { "filter": args.filter, "projectId": args.projectId, + "region": args.region, "sortAscending": args.sortAscending, }, opts); } @@ -75,5 +79,6 @@ export interface GetMachineTypeOutputArgs { */ filter: pulumi.Input; projectId: pulumi.Input; + region?: pulumi.Input; sortAscending?: pulumi.Input; } diff --git a/sdk/nodejs/getNetworkArea.ts b/sdk/nodejs/getNetworkArea.ts index 248f765..075a01b 100644 --- a/sdk/nodejs/getNetworkArea.ts +++ b/sdk/nodejs/getNetworkArea.ts @@ -39,10 +39,14 @@ export interface GetNetworkAreaArgs { export interface GetNetworkAreaResult { /** * List of DNS Servers/Nameservers. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly defaultNameservers: string[]; /** * The default prefix length for networks in the network area. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly defaultPrefixLength: number; readonly id: string; @@ -52,10 +56,14 @@ export interface GetNetworkAreaResult { readonly labels: {[key: string]: string}; /** * The maximal prefix length for networks in the network area. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly maxPrefixLength: number; /** * The minimal prefix length for networks in the network area. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly minPrefixLength: number; /** @@ -68,6 +76,8 @@ export interface GetNetworkAreaResult { readonly networkAreaId: string; /** * List of Network ranges. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly networkRanges: outputs.GetNetworkAreaNetworkRange[]; /** @@ -80,6 +90,8 @@ export interface GetNetworkAreaResult { readonly projectCount: number; /** * Classless Inter-Domain Routing (CIDR). + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. */ readonly transferNetwork: string; } diff --git a/sdk/nodejs/getNetworkAreaRegion.ts b/sdk/nodejs/getNetworkAreaRegion.ts new file mode 100644 index 0000000..67c0410 --- /dev/null +++ b/sdk/nodejs/getNetworkAreaRegion.ts @@ -0,0 +1,93 @@ +// *** 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"; + +/** + * Network area region data source schema. + * + * ## Example Usage + */ +export function getNetworkAreaRegion(args: GetNetworkAreaRegionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", { + "networkAreaId": args.networkAreaId, + "organizationId": args.organizationId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getNetworkAreaRegion. + */ +export interface GetNetworkAreaRegionArgs { + /** + * The network area ID. + */ + networkAreaId: string; + /** + * STACKIT organization ID to which the network area is associated. + */ + organizationId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getNetworkAreaRegion. + */ +export interface GetNetworkAreaRegionResult { + readonly id: string; + /** + * The regional IPv4 config of a network area. + */ + readonly ipv4: outputs.GetNetworkAreaRegionIpv4; + /** + * The network area ID. + */ + readonly networkAreaId: string; + /** + * STACKIT organization ID to which the network area is associated. + */ + readonly organizationId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; +} +/** + * Network area region data source schema. + * + * ## Example Usage + */ +export function getNetworkAreaRegionOutput(args: GetNetworkAreaRegionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getNetworkAreaRegion:getNetworkAreaRegion", { + "networkAreaId": args.networkAreaId, + "organizationId": args.organizationId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getNetworkAreaRegion. + */ +export interface GetNetworkAreaRegionOutputArgs { + /** + * The network area ID. + */ + networkAreaId: pulumi.Input; + /** + * STACKIT organization ID to which the network area is associated. + */ + organizationId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getNetworkAreaRoute.ts b/sdk/nodejs/getNetworkAreaRoute.ts index 24951f5..29cd9fc 100644 --- a/sdk/nodejs/getNetworkAreaRoute.ts +++ b/sdk/nodejs/getNetworkAreaRoute.ts @@ -2,6 +2,8 @@ // *** 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"; /** @@ -15,6 +17,7 @@ export function getNetworkAreaRoute(args: GetNetworkAreaRouteArgs, opts?: pulumi "networkAreaId": args.networkAreaId, "networkAreaRouteId": args.networkAreaRouteId, "organizationId": args.organizationId, + "region": args.region, }, opts); } @@ -34,12 +37,20 @@ export interface GetNetworkAreaRouteArgs { * STACKIT organization ID to which the network area is associated. */ organizationId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** * A collection of values returned by getNetworkAreaRoute. */ export interface GetNetworkAreaRouteResult { + /** + * Destination of the route. + */ + readonly destination: outputs.GetNetworkAreaRouteDestination; readonly id: string; /** * Labels are key-value string pairs which can be attached to a resource container @@ -54,17 +65,17 @@ export interface GetNetworkAreaRouteResult { */ readonly networkAreaRouteId: string; /** - * The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + * Next hop destination. */ - readonly nextHop: string; + readonly nextHop: outputs.GetNetworkAreaRouteNextHop; /** * STACKIT organization ID to which the network area is associated. */ readonly organizationId: string; /** - * The network, that is reachable though the Next Hop. Should use CIDR notation. + * The resource region. If not defined, the provider region is used. */ - readonly prefix: string; + readonly region?: string; } /** * Network area route data resource schema. Must have a `region` specified in the provider configuration. @@ -77,6 +88,7 @@ export function getNetworkAreaRouteOutput(args: GetNetworkAreaRouteOutputArgs, o "networkAreaId": args.networkAreaId, "networkAreaRouteId": args.networkAreaRouteId, "organizationId": args.organizationId, + "region": args.region, }, opts); } @@ -96,4 +108,8 @@ export interface GetNetworkAreaRouteOutputArgs { * STACKIT organization ID to which the network area is associated. */ organizationId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getNetworkInterface.ts b/sdk/nodejs/getNetworkInterface.ts index a9b3e7a..e67926d 100644 --- a/sdk/nodejs/getNetworkInterface.ts +++ b/sdk/nodejs/getNetworkInterface.ts @@ -15,6 +15,7 @@ export function getNetworkInterface(args: GetNetworkInterfaceArgs, opts?: pulumi "networkId": args.networkId, "networkInterfaceId": args.networkInterfaceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -34,6 +35,10 @@ export interface GetNetworkInterfaceArgs { * STACKIT project ID to which the network interface is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -77,6 +82,10 @@ export interface GetNetworkInterfaceResult { * STACKIT project ID to which the network interface is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The Network Interface Security. If set to false, then no security groups will apply to this network interface. */ @@ -101,6 +110,7 @@ export function getNetworkInterfaceOutput(args: GetNetworkInterfaceOutputArgs, o "networkId": args.networkId, "networkInterfaceId": args.networkInterfaceId, "projectId": args.projectId, + "region": args.region, }, opts); } @@ -120,4 +130,8 @@ export interface GetNetworkInterfaceOutputArgs { * STACKIT project ID to which the network interface is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getPublicIp.ts b/sdk/nodejs/getPublicIp.ts index 08c261b..bb7415b 100644 --- a/sdk/nodejs/getPublicIp.ts +++ b/sdk/nodejs/getPublicIp.ts @@ -14,6 +14,7 @@ export function getPublicIp(args: GetPublicIpArgs, opts?: pulumi.InvokeOptions): return pulumi.runtime.invoke("stackit:index/getPublicIp:getPublicIp", { "projectId": args.projectId, "publicIpId": args.publicIpId, + "region": args.region, }, opts); } @@ -29,6 +30,10 @@ export interface GetPublicIpArgs { * The public IP ID. */ publicIpId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; } /** @@ -56,6 +61,10 @@ export interface GetPublicIpResult { * The public IP ID. */ readonly publicIpId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; } /** * Public IP resource schema. Must have a `region` specified in the provider configuration. @@ -67,6 +76,7 @@ export function getPublicIpOutput(args: GetPublicIpOutputArgs, opts?: pulumi.Inv return pulumi.runtime.invokeOutput("stackit:index/getPublicIp:getPublicIp", { "projectId": args.projectId, "publicIpId": args.publicIpId, + "region": args.region, }, opts); } @@ -82,4 +92,8 @@ export interface GetPublicIpOutputArgs { * The public IP ID. */ publicIpId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/getSecurityGroup.ts b/sdk/nodejs/getSecurityGroup.ts index 80642a5..bb1b08c 100644 --- a/sdk/nodejs/getSecurityGroup.ts +++ b/sdk/nodejs/getSecurityGroup.ts @@ -13,6 +13,7 @@ export function getSecurityGroup(args: GetSecurityGroupArgs, opts?: pulumi.Invok opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("stackit:index/getSecurityGroup:getSecurityGroup", { "projectId": args.projectId, + "region": args.region, "securityGroupId": args.securityGroupId, }, opts); } @@ -25,6 +26,10 @@ export interface GetSecurityGroupArgs { * STACKIT project ID to which the security group is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; /** * The security group ID. */ @@ -52,6 +57,10 @@ export interface GetSecurityGroupResult { * STACKIT project ID to which the security group is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The security group ID. */ @@ -70,6 +79,7 @@ export function getSecurityGroupOutput(args: GetSecurityGroupOutputArgs, opts?: opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("stackit:index/getSecurityGroup:getSecurityGroup", { "projectId": args.projectId, + "region": args.region, "securityGroupId": args.securityGroupId, }, opts); } @@ -82,6 +92,10 @@ export interface GetSecurityGroupOutputArgs { * STACKIT project ID to which the security group is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The security group ID. */ diff --git a/sdk/nodejs/getSecurityGroupRule.ts b/sdk/nodejs/getSecurityGroupRule.ts index 765f739..6e3a412 100644 --- a/sdk/nodejs/getSecurityGroupRule.ts +++ b/sdk/nodejs/getSecurityGroupRule.ts @@ -15,6 +15,7 @@ export function getSecurityGroupRule(args: GetSecurityGroupRuleArgs, opts?: pulu opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("stackit:index/getSecurityGroupRule:getSecurityGroupRule", { "projectId": args.projectId, + "region": args.region, "securityGroupId": args.securityGroupId, "securityGroupRuleId": args.securityGroupRuleId, }, opts); @@ -28,6 +29,10 @@ export interface GetSecurityGroupRuleArgs { * STACKIT project ID to which the security group rule is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; /** * The security group ID. */ @@ -75,6 +80,10 @@ export interface GetSecurityGroupRuleResult { * The internet protocol which the rule should match. */ readonly protocol: outputs.GetSecurityGroupRuleProtocol; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The remote security group which the rule should match. */ @@ -97,6 +106,7 @@ export function getSecurityGroupRuleOutput(args: GetSecurityGroupRuleOutputArgs, opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("stackit:index/getSecurityGroupRule:getSecurityGroupRule", { "projectId": args.projectId, + "region": args.region, "securityGroupId": args.securityGroupId, "securityGroupRuleId": args.securityGroupRuleId, }, opts); @@ -110,6 +120,10 @@ export interface GetSecurityGroupRuleOutputArgs { * STACKIT project ID to which the security group rule is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The security group ID. */ diff --git a/sdk/nodejs/getServer.ts b/sdk/nodejs/getServer.ts index 23c3138..8943d55 100644 --- a/sdk/nodejs/getServer.ts +++ b/sdk/nodejs/getServer.ts @@ -15,6 +15,7 @@ export function getServer(args: GetServerArgs, opts?: pulumi.InvokeOptions): Pro opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("stackit:index/getServer:getServer", { "projectId": args.projectId, + "region": args.region, "serverId": args.serverId, }, opts); } @@ -27,6 +28,10 @@ export interface GetServerArgs { * STACKIT project ID to which the server is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; /** * The server ID. */ @@ -71,7 +76,7 @@ export interface GetServerResult { */ readonly launchedAt: string; /** - * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) */ readonly machineType: string; /** @@ -86,6 +91,10 @@ export interface GetServerResult { * STACKIT project ID to which the server is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The server ID. */ @@ -108,6 +117,7 @@ export function getServerOutput(args: GetServerOutputArgs, opts?: pulumi.InvokeO opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("stackit:index/getServer:getServer", { "projectId": args.projectId, + "region": args.region, "serverId": args.serverId, }, opts); } @@ -120,6 +130,10 @@ export interface GetServerOutputArgs { * STACKIT project ID to which the server is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ diff --git a/sdk/nodejs/getSfsExportPolicy.ts b/sdk/nodejs/getSfsExportPolicy.ts new file mode 100644 index 0000000..752968a --- /dev/null +++ b/sdk/nodejs/getSfsExportPolicy.ts @@ -0,0 +1,98 @@ +// *** 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"; + +/** + * SFS export policy datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsExportPolicy(args: GetSfsExportPolicyArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSfsExportPolicy:getSfsExportPolicy", { + "policyId": args.policyId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsExportPolicy. + */ +export interface GetSfsExportPolicyArgs { + /** + * Export policy ID + */ + policyId: string; + /** + * STACKIT project ID to which the export policy is associated. + */ + projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getSfsExportPolicy. + */ +export interface GetSfsExportPolicyResult { + readonly id: string; + /** + * Name of the export policy. + */ + readonly name: string; + /** + * Export policy ID + */ + readonly policyId: string; + /** + * STACKIT project ID to which the export policy is associated. + */ + readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region: string; + readonly rules: outputs.GetSfsExportPolicyRule[]; +} +/** + * SFS export policy datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsExportPolicyOutput(args: GetSfsExportPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSfsExportPolicy:getSfsExportPolicy", { + "policyId": args.policyId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsExportPolicy. + */ +export interface GetSfsExportPolicyOutputArgs { + /** + * Export policy ID + */ + policyId: pulumi.Input; + /** + * STACKIT project ID to which the export policy is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getSfsResourcePool.ts b/sdk/nodejs/getSfsResourcePool.ts new file mode 100644 index 0000000..b7e2cb3 --- /dev/null +++ b/sdk/nodejs/getSfsResourcePool.ts @@ -0,0 +1,123 @@ +// *** 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"; + +/** + * Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsResourcePool(args: GetSfsResourcePoolArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSfsResourcePool:getSfsResourcePool", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsResourcePool. + */ +export interface GetSfsResourcePoolArgs { + /** + * STACKIT project ID to which the resource pool is associated. + */ + projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: string; + /** + * Resourcepool ID + */ + resourcePoolId: string; +} + +/** + * A collection of values returned by getSfsResourcePool. + */ +export interface GetSfsResourcePoolResult { + /** + * Availability zone. + */ + readonly availabilityZone: string; + readonly id: string; + /** + * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + readonly ipAcls: string[]; + /** + * Name of the resource pool. + */ + readonly name: string; + /** + * Name of the performance class. + */ + readonly performanceClass: string; + /** + * Time when the performance class can be downgraded again. + */ + readonly performanceClassDowngradableAt: string; + /** + * STACKIT project ID to which the resource pool is associated. + */ + readonly projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + readonly region?: string; + /** + * Resourcepool ID + */ + readonly resourcePoolId: string; + /** + * Size of the resource pool (unit: gigabytes) + */ + readonly sizeGigabytes: number; + /** + * Time when the size can be reduced again. + */ + readonly sizeReducibleAt: string; + /** + * If set to true, snapshots are visible and accessible to users. (default: false) + */ + readonly snapshotsAreVisible: boolean; +} +/** + * Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsResourcePoolOutput(args: GetSfsResourcePoolOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSfsResourcePool:getSfsResourcePool", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsResourcePool. + */ +export interface GetSfsResourcePoolOutputArgs { + /** + * STACKIT project ID to which the resource pool is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: pulumi.Input; + /** + * Resourcepool ID + */ + resourcePoolId: pulumi.Input; +} diff --git a/sdk/nodejs/getSfsResourcePoolSnapshot.ts b/sdk/nodejs/getSfsResourcePoolSnapshot.ts new file mode 100644 index 0000000..47a957e --- /dev/null +++ b/sdk/nodejs/getSfsResourcePoolSnapshot.ts @@ -0,0 +1,97 @@ +// *** 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"; + +/** + * Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsResourcePoolSnapshot(args: GetSfsResourcePoolSnapshotArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsResourcePoolSnapshot. + */ +export interface GetSfsResourcePoolSnapshotArgs { + /** + * STACKIT project ID to which the resource pool snapshot is associated. + */ + projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: string; + /** + * Resource pool ID + */ + resourcePoolId: string; +} + +/** + * A collection of values returned by getSfsResourcePoolSnapshot. + */ +export interface GetSfsResourcePoolSnapshotResult { + readonly id: string; + /** + * STACKIT project ID to which the resource pool snapshot is associated. + */ + readonly projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + readonly region?: string; + /** + * Resource pool ID + */ + readonly resourcePoolId: string; + /** + * Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + */ + readonly snapshots: outputs.GetSfsResourcePoolSnapshotSnapshot[]; +} +/** + * Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsResourcePoolSnapshotOutput(args: GetSfsResourcePoolSnapshotOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsResourcePoolSnapshot. + */ +export interface GetSfsResourcePoolSnapshotOutputArgs { + /** + * STACKIT project ID to which the resource pool snapshot is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: pulumi.Input; + /** + * Resource pool ID + */ + resourcePoolId: pulumi.Input; +} diff --git a/sdk/nodejs/getSfsShare.ts b/sdk/nodejs/getSfsShare.ts new file mode 100644 index 0000000..e50750c --- /dev/null +++ b/sdk/nodejs/getSfsShare.ts @@ -0,0 +1,126 @@ +// *** 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"; + +/** + * SFS Share schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsShare(args: GetSfsShareArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getSfsShare:getSfsShare", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + "shareId": args.shareId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsShare. + */ +export interface GetSfsShareArgs { + /** + * STACKIT project ID to which the share is associated. + */ + projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: string; + /** + * The ID of the resource pool for the SFS share. + */ + resourcePoolId: string; + /** + * share ID + */ + shareId: string; +} + +/** + * A collection of values returned by getSfsShare. + */ +export interface GetSfsShareResult { + /** + * Name of the Share Export Policy to use in the Share. + * Note that if this is not set, the Share can only be mounted in read only by + * clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + * You can also assign a Share Export Policy after creating the Share + */ + readonly exportPolicy: string; + readonly id: string; + /** + * Mount path of the Share, used to mount the Share + */ + readonly mountPath: string; + /** + * Name of the Share + */ + readonly name: string; + /** + * STACKIT project ID to which the share is associated. + */ + readonly projectId: string; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + readonly region?: string; + /** + * The ID of the resource pool for the SFS share. + */ + readonly resourcePoolId: string; + /** + * share ID + */ + readonly shareId: string; + /** + * Space hard limit for the Share. + * If zero, the Share will have access to the full space of the Resource Pool it lives in. + * (unit: gigabytes) + */ + readonly spaceHardLimitGigabytes: number; +} +/** + * SFS Share schema. Must have a `region` specified in the provider configuration. + * + * > 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 getSfsShareOutput(args: GetSfsShareOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getSfsShare:getSfsShare", { + "projectId": args.projectId, + "region": args.region, + "resourcePoolId": args.resourcePoolId, + "shareId": args.shareId, + }, opts); +} + +/** + * A collection of arguments for invoking getSfsShare. + */ +export interface GetSfsShareOutputArgs { + /** + * STACKIT project ID to which the share is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. Read-only attribute that reflects the provider region. + */ + region?: pulumi.Input; + /** + * The ID of the resource pool for the SFS share. + */ + resourcePoolId: pulumi.Input; + /** + * share ID + */ + shareId: pulumi.Input; +} diff --git a/sdk/nodejs/getSkeCluster.ts b/sdk/nodejs/getSkeCluster.ts index 65bef9c..5e6ca01 100644 --- a/sdk/nodejs/getSkeCluster.ts +++ b/sdk/nodejs/getSkeCluster.ts @@ -56,7 +56,7 @@ export interface GetSkeClusterResult { readonly hibernations: outputs.GetSkeClusterHibernation[]; readonly id: string; /** - * The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. + * The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the `kubernetesVersionUsed` field. */ readonly kubernetesVersionMin: string; /** diff --git a/sdk/nodejs/getVolume.ts b/sdk/nodejs/getVolume.ts index 83d9b93..b65410c 100644 --- a/sdk/nodejs/getVolume.ts +++ b/sdk/nodejs/getVolume.ts @@ -15,6 +15,7 @@ export function getVolume(args: GetVolumeArgs, opts?: pulumi.InvokeOptions): Pro opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invoke("stackit:index/getVolume:getVolume", { "projectId": args.projectId, + "region": args.region, "volumeId": args.volumeId, }, opts); } @@ -27,6 +28,10 @@ export interface GetVolumeArgs { * STACKIT project ID to which the volume is associated. */ projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: string; /** * The volume ID. */ @@ -55,13 +60,17 @@ export interface GetVolumeResult { */ readonly name: string; /** - * The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + * 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) */ readonly performanceClass: string; /** * STACKIT project ID to which the volume is associated. */ readonly projectId: string; + /** + * The resource region. If not defined, the provider region is used. + */ + readonly region?: string; /** * The server ID of the server to which the volume is attached to. */ @@ -88,6 +97,7 @@ export function getVolumeOutput(args: GetVolumeOutputArgs, opts?: pulumi.InvokeO opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); return pulumi.runtime.invokeOutput("stackit:index/getVolume:getVolume", { "projectId": args.projectId, + "region": args.region, "volumeId": args.volumeId, }, opts); } @@ -100,6 +110,10 @@ export interface GetVolumeOutputArgs { * STACKIT project ID to which the volume is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The volume ID. */ diff --git a/sdk/nodejs/image.ts b/sdk/nodejs/image.ts index 1167e1f..e2d107b 100644 --- a/sdk/nodejs/image.ts +++ b/sdk/nodejs/image.ts @@ -83,6 +83,10 @@ export class Image extends pulumi.CustomResource { * Whether the image is protected. */ declare public /*out*/ readonly protected: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The scope of the image. */ @@ -112,6 +116,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["name"] = state?.name; resourceInputs["projectId"] = state?.projectId; resourceInputs["protected"] = state?.protected; + resourceInputs["region"] = state?.region; resourceInputs["scope"] = state?.scope; } else { const args = argsOrState as ImageArgs | undefined; @@ -132,6 +137,7 @@ export class Image extends pulumi.CustomResource { resourceInputs["minRam"] = args?.minRam; resourceInputs["name"] = args?.name; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["checksum"] = undefined /*out*/; resourceInputs["imageId"] = undefined /*out*/; resourceInputs["protected"] = undefined /*out*/; @@ -190,6 +196,10 @@ export interface ImageState { * Whether the image is protected. */ protected?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The scope of the image. */ @@ -232,4 +242,8 @@ export interface ImageArgs { * STACKIT project ID to which the image is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index 22dbed6..b153459 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -155,6 +155,11 @@ export const getNetworkArea: typeof import("./getNetworkArea").getNetworkArea = export const getNetworkAreaOutput: typeof import("./getNetworkArea").getNetworkAreaOutput = null as any; utilities.lazyLoad(exports, ["getNetworkArea","getNetworkAreaOutput"], () => require("./getNetworkArea")); +export { GetNetworkAreaRegionArgs, GetNetworkAreaRegionResult, GetNetworkAreaRegionOutputArgs } from "./getNetworkAreaRegion"; +export const getNetworkAreaRegion: typeof import("./getNetworkAreaRegion").getNetworkAreaRegion = null as any; +export const getNetworkAreaRegionOutput: typeof import("./getNetworkAreaRegion").getNetworkAreaRegionOutput = null as any; +utilities.lazyLoad(exports, ["getNetworkAreaRegion","getNetworkAreaRegionOutput"], () => require("./getNetworkAreaRegion")); + export { GetNetworkAreaRouteArgs, GetNetworkAreaRouteResult, GetNetworkAreaRouteOutputArgs } from "./getNetworkAreaRoute"; export const getNetworkAreaRoute: typeof import("./getNetworkAreaRoute").getNetworkAreaRoute = null as any; export const getNetworkAreaRouteOutput: typeof import("./getNetworkAreaRoute").getNetworkAreaRouteOutput = null as any; @@ -350,6 +355,26 @@ export const getServiceAccount: typeof import("./getServiceAccount").getServiceA export const getServiceAccountOutput: typeof import("./getServiceAccount").getServiceAccountOutput = null as any; utilities.lazyLoad(exports, ["getServiceAccount","getServiceAccountOutput"], () => require("./getServiceAccount")); +export { GetSfsExportPolicyArgs, GetSfsExportPolicyResult, GetSfsExportPolicyOutputArgs } from "./getSfsExportPolicy"; +export const getSfsExportPolicy: typeof import("./getSfsExportPolicy").getSfsExportPolicy = null as any; +export const getSfsExportPolicyOutput: typeof import("./getSfsExportPolicy").getSfsExportPolicyOutput = null as any; +utilities.lazyLoad(exports, ["getSfsExportPolicy","getSfsExportPolicyOutput"], () => require("./getSfsExportPolicy")); + +export { GetSfsResourcePoolArgs, GetSfsResourcePoolResult, GetSfsResourcePoolOutputArgs } from "./getSfsResourcePool"; +export const getSfsResourcePool: typeof import("./getSfsResourcePool").getSfsResourcePool = null as any; +export const getSfsResourcePoolOutput: typeof import("./getSfsResourcePool").getSfsResourcePoolOutput = null as any; +utilities.lazyLoad(exports, ["getSfsResourcePool","getSfsResourcePoolOutput"], () => require("./getSfsResourcePool")); + +export { GetSfsResourcePoolSnapshotArgs, GetSfsResourcePoolSnapshotResult, GetSfsResourcePoolSnapshotOutputArgs } from "./getSfsResourcePoolSnapshot"; +export const getSfsResourcePoolSnapshot: typeof import("./getSfsResourcePoolSnapshot").getSfsResourcePoolSnapshot = null as any; +export const getSfsResourcePoolSnapshotOutput: typeof import("./getSfsResourcePoolSnapshot").getSfsResourcePoolSnapshotOutput = null as any; +utilities.lazyLoad(exports, ["getSfsResourcePoolSnapshot","getSfsResourcePoolSnapshotOutput"], () => require("./getSfsResourcePoolSnapshot")); + +export { GetSfsShareArgs, GetSfsShareResult, GetSfsShareOutputArgs } from "./getSfsShare"; +export const getSfsShare: typeof import("./getSfsShare").getSfsShare = null as any; +export const getSfsShareOutput: typeof import("./getSfsShare").getSfsShareOutput = null as any; +utilities.lazyLoad(exports, ["getSfsShare","getSfsShareOutput"], () => require("./getSfsShare")); + export { GetSkeClusterArgs, GetSkeClusterResult, GetSkeClusterOutputArgs } from "./getSkeCluster"; export const getSkeCluster: typeof import("./getSkeCluster").getSkeCluster = null as any; export const getSkeClusterOutput: typeof import("./getSkeCluster").getSkeClusterOutput = null as any; @@ -455,6 +480,11 @@ export type NetworkArea = import("./networkArea").NetworkArea; export const NetworkArea: typeof import("./networkArea").NetworkArea = null as any; utilities.lazyLoad(exports, ["NetworkArea"], () => require("./networkArea")); +export { NetworkAreaRegionArgs, NetworkAreaRegionState } from "./networkAreaRegion"; +export type NetworkAreaRegion = import("./networkAreaRegion").NetworkAreaRegion; +export const NetworkAreaRegion: typeof import("./networkAreaRegion").NetworkAreaRegion = null as any; +utilities.lazyLoad(exports, ["NetworkAreaRegion"], () => require("./networkAreaRegion")); + export { NetworkAreaRouteArgs, NetworkAreaRouteState } from "./networkAreaRoute"; export type NetworkAreaRoute = import("./networkAreaRoute").NetworkAreaRoute; export const NetworkAreaRoute: typeof import("./networkAreaRoute").NetworkAreaRoute = null as any; @@ -658,6 +688,21 @@ export type ServiceAccountKey = import("./serviceAccountKey").ServiceAccountKey; export const ServiceAccountKey: typeof import("./serviceAccountKey").ServiceAccountKey = null as any; utilities.lazyLoad(exports, ["ServiceAccountKey"], () => require("./serviceAccountKey")); +export { SfsExportPolicyArgs, SfsExportPolicyState } from "./sfsExportPolicy"; +export type SfsExportPolicy = import("./sfsExportPolicy").SfsExportPolicy; +export const SfsExportPolicy: typeof import("./sfsExportPolicy").SfsExportPolicy = null as any; +utilities.lazyLoad(exports, ["SfsExportPolicy"], () => require("./sfsExportPolicy")); + +export { SfsResourcePoolArgs, SfsResourcePoolState } from "./sfsResourcePool"; +export type SfsResourcePool = import("./sfsResourcePool").SfsResourcePool; +export const SfsResourcePool: typeof import("./sfsResourcePool").SfsResourcePool = null as any; +utilities.lazyLoad(exports, ["SfsResourcePool"], () => require("./sfsResourcePool")); + +export { SfsShareArgs, SfsShareState } from "./sfsShare"; +export type SfsShare = import("./sfsShare").SfsShare; +export const SfsShare: typeof import("./sfsShare").SfsShare = null as any; +utilities.lazyLoad(exports, ["SfsShare"], () => require("./sfsShare")); + export { SkeClusterArgs, SkeClusterState } from "./skeCluster"; export type SkeCluster = import("./skeCluster").SkeCluster; export const SkeCluster: typeof import("./skeCluster").SkeCluster = null as any; @@ -745,6 +790,8 @@ const _module = { return new Network(name, undefined, { urn }) case "stackit:index/networkArea:NetworkArea": return new NetworkArea(name, undefined, { urn }) + case "stackit:index/networkAreaRegion:NetworkAreaRegion": + return new NetworkAreaRegion(name, undefined, { urn }) case "stackit:index/networkAreaRoute:NetworkAreaRoute": return new NetworkAreaRoute(name, undefined, { urn }) case "stackit:index/networkInterface:NetworkInterface": @@ -825,6 +872,12 @@ const _module = { return new ServiceAccountAccessToken(name, undefined, { urn }) case "stackit:index/serviceAccountKey:ServiceAccountKey": return new ServiceAccountKey(name, undefined, { urn }) + case "stackit:index/sfsExportPolicy:SfsExportPolicy": + return new SfsExportPolicy(name, undefined, { urn }) + case "stackit:index/sfsResourcePool:SfsResourcePool": + return new SfsResourcePool(name, undefined, { urn }) + case "stackit:index/sfsShare:SfsShare": + return new SfsShare(name, undefined, { urn }) case "stackit:index/skeCluster:SkeCluster": return new SkeCluster(name, undefined, { urn }) case "stackit:index/skeKubeconfig:SkeKubeconfig": @@ -864,6 +917,7 @@ pulumi.runtime.registerResourceModule("stackit", "index/mongodbflexInstance", _m pulumi.runtime.registerResourceModule("stackit", "index/mongodbflexUser", _module) pulumi.runtime.registerResourceModule("stackit", "index/network", _module) pulumi.runtime.registerResourceModule("stackit", "index/networkArea", _module) +pulumi.runtime.registerResourceModule("stackit", "index/networkAreaRegion", _module) pulumi.runtime.registerResourceModule("stackit", "index/networkAreaRoute", _module) pulumi.runtime.registerResourceModule("stackit", "index/networkInterface", _module) pulumi.runtime.registerResourceModule("stackit", "index/objectstorageBucket", _module) @@ -904,6 +958,9 @@ pulumi.runtime.registerResourceModule("stackit", "index/serverVolumeAttach", _mo pulumi.runtime.registerResourceModule("stackit", "index/serviceAccount", _module) pulumi.runtime.registerResourceModule("stackit", "index/serviceAccountAccessToken", _module) pulumi.runtime.registerResourceModule("stackit", "index/serviceAccountKey", _module) +pulumi.runtime.registerResourceModule("stackit", "index/sfsExportPolicy", _module) +pulumi.runtime.registerResourceModule("stackit", "index/sfsResourcePool", _module) +pulumi.runtime.registerResourceModule("stackit", "index/sfsShare", _module) pulumi.runtime.registerResourceModule("stackit", "index/skeCluster", _module) pulumi.runtime.registerResourceModule("stackit", "index/skeKubeconfig", _module) pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexInstance", _module) diff --git a/sdk/nodejs/network.ts b/sdk/nodejs/network.ts index 22c08d6..4e6c30d 100644 --- a/sdk/nodejs/network.ts +++ b/sdk/nodejs/network.ts @@ -121,7 +121,6 @@ export class Network extends pulumi.CustomResource { */ declare public /*out*/ readonly publicIp: pulumi.Output; /** - * Can only be used when experimental "network" is set. * The resource region. If not defined, the provider region is used. */ declare public readonly region: pulumi.Output; @@ -130,7 +129,6 @@ export class Network extends pulumi.CustomResource { */ declare public readonly routed: pulumi.Output; /** - * Can only be used when experimental "network" is set. * The ID of the routing table associated with the network. */ declare public readonly routingTableId: pulumi.Output; @@ -288,7 +286,6 @@ export interface NetworkState { */ publicIp?: pulumi.Input; /** - * Can only be used when experimental "network" is set. * The resource region. If not defined, the provider region is used. */ region?: pulumi.Input; @@ -297,7 +294,6 @@ export interface NetworkState { */ routed?: pulumi.Input; /** - * Can only be used when experimental "network" is set. * The ID of the routing table associated with the network. */ routingTableId?: pulumi.Input; @@ -366,7 +362,6 @@ export interface NetworkArgs { */ projectId: pulumi.Input; /** - * Can only be used when experimental "network" is set. * The resource region. If not defined, the provider region is used. */ region?: pulumi.Input; @@ -375,7 +370,6 @@ export interface NetworkArgs { */ routed?: pulumi.Input; /** - * Can only be used when experimental "network" is set. * The ID of the routing table associated with the network. */ routingTableId?: pulumi.Input; diff --git a/sdk/nodejs/networkArea.ts b/sdk/nodejs/networkArea.ts index 01c1707..b7e6132 100644 --- a/sdk/nodejs/networkArea.ts +++ b/sdk/nodejs/networkArea.ts @@ -7,7 +7,7 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Network area resource schema. Must have a `region` specified in the provider configuration. + * Network area resource schema. * * ## Example Usage */ @@ -40,11 +40,15 @@ export class NetworkArea extends pulumi.CustomResource { } /** - * List of DNS Servers/Nameservers. + * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ declare public readonly defaultNameservers: pulumi.Output; /** - * The default prefix length for networks in the network area. + * The default prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ declare public readonly defaultPrefixLength: pulumi.Output; /** @@ -52,11 +56,15 @@ export class NetworkArea extends pulumi.CustomResource { */ declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; /** - * The maximal prefix length for networks in the network area. + * The maximal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ declare public readonly maxPrefixLength: pulumi.Output; /** - * The minimal prefix length for networks in the network area. + * The minimal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ declare public readonly minPrefixLength: pulumi.Output; /** @@ -68,9 +76,11 @@ export class NetworkArea extends pulumi.CustomResource { */ declare public /*out*/ readonly networkAreaId: pulumi.Output; /** - * List of Network ranges. + * List of Network ranges for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ - declare public readonly networkRanges: pulumi.Output; + declare public readonly networkRanges: pulumi.Output; /** * STACKIT organization ID to which the network area is associated. */ @@ -80,9 +90,11 @@ export class NetworkArea extends pulumi.CustomResource { */ declare public /*out*/ readonly projectCount: pulumi.Output; /** - * Classless Inter-Domain Routing (CIDR). + * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ - declare public readonly transferNetwork: pulumi.Output; + declare public readonly transferNetwork: pulumi.Output; /** * Create a NetworkArea resource with the given unique name, arguments, and options. @@ -110,15 +122,9 @@ export class NetworkArea extends pulumi.CustomResource { resourceInputs["transferNetwork"] = state?.transferNetwork; } else { const args = argsOrState as NetworkAreaArgs | undefined; - if (args?.networkRanges === undefined && !opts.urn) { - throw new Error("Missing required property 'networkRanges'"); - } if (args?.organizationId === undefined && !opts.urn) { throw new Error("Missing required property 'organizationId'"); } - if (args?.transferNetwork === undefined && !opts.urn) { - throw new Error("Missing required property 'transferNetwork'"); - } resourceInputs["defaultNameservers"] = args?.defaultNameservers; resourceInputs["defaultPrefixLength"] = args?.defaultPrefixLength; resourceInputs["labels"] = args?.labels; @@ -141,11 +147,15 @@ export class NetworkArea extends pulumi.CustomResource { */ export interface NetworkAreaState { /** - * List of DNS Servers/Nameservers. + * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ defaultNameservers?: pulumi.Input[]>; /** - * The default prefix length for networks in the network area. + * The default prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ defaultPrefixLength?: pulumi.Input; /** @@ -153,11 +163,15 @@ export interface NetworkAreaState { */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The maximal prefix length for networks in the network area. + * The maximal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ maxPrefixLength?: pulumi.Input; /** - * The minimal prefix length for networks in the network area. + * The minimal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ minPrefixLength?: pulumi.Input; /** @@ -169,7 +183,9 @@ export interface NetworkAreaState { */ networkAreaId?: pulumi.Input; /** - * List of Network ranges. + * List of Network ranges for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ networkRanges?: pulumi.Input[]>; /** @@ -181,7 +197,9 @@ export interface NetworkAreaState { */ projectCount?: pulumi.Input; /** - * Classless Inter-Domain Routing (CIDR). + * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ transferNetwork?: pulumi.Input; } @@ -191,11 +209,15 @@ export interface NetworkAreaState { */ export interface NetworkAreaArgs { /** - * List of DNS Servers/Nameservers. + * List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ defaultNameservers?: pulumi.Input[]>; /** - * The default prefix length for networks in the network area. + * The default prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ defaultPrefixLength?: pulumi.Input; /** @@ -203,11 +225,15 @@ export interface NetworkAreaArgs { */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * The maximal prefix length for networks in the network area. + * The maximal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ maxPrefixLength?: pulumi.Input; /** - * The minimal prefix length for networks in the network area. + * The minimal prefix length for networks in the network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ minPrefixLength?: pulumi.Input; /** @@ -215,15 +241,19 @@ export interface NetworkAreaArgs { */ name?: pulumi.Input; /** - * List of Network ranges. + * List of Network ranges for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ - networkRanges: pulumi.Input[]>; + networkRanges?: pulumi.Input[]>; /** * STACKIT organization ID to which the network area is associated. */ organizationId: pulumi.Input; /** - * Classless Inter-Domain Routing (CIDR). + * Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ - transferNetwork: pulumi.Input; + transferNetwork?: pulumi.Input; } diff --git a/sdk/nodejs/networkAreaRegion.ts b/sdk/nodejs/networkAreaRegion.ts new file mode 100644 index 0000000..7c9f0c1 --- /dev/null +++ b/sdk/nodejs/networkAreaRegion.ts @@ -0,0 +1,139 @@ +// *** 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"; + +/** + * Network area region resource schema. + * + * ## Example Usage + */ +export class NetworkAreaRegion extends pulumi.CustomResource { + /** + * Get an existing NetworkAreaRegion 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?: NetworkAreaRegionState, opts?: pulumi.CustomResourceOptions): NetworkAreaRegion { + return new NetworkAreaRegion(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/networkAreaRegion:NetworkAreaRegion'; + + /** + * Returns true if the given object is an instance of NetworkAreaRegion. 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 NetworkAreaRegion { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === NetworkAreaRegion.__pulumiType; + } + + /** + * The regional IPv4 config of a network area. + */ + declare public readonly ipv4: pulumi.Output; + /** + * The network area ID. + */ + declare public readonly networkAreaId: pulumi.Output; + /** + * STACKIT organization ID to which the network area is associated. + */ + declare public readonly organizationId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + + /** + * Create a NetworkAreaRegion 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: NetworkAreaRegionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: NetworkAreaRegionArgs | NetworkAreaRegionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as NetworkAreaRegionState | undefined; + resourceInputs["ipv4"] = state?.ipv4; + resourceInputs["networkAreaId"] = state?.networkAreaId; + resourceInputs["organizationId"] = state?.organizationId; + resourceInputs["region"] = state?.region; + } else { + const args = argsOrState as NetworkAreaRegionArgs | undefined; + if (args?.ipv4 === undefined && !opts.urn) { + throw new Error("Missing required property 'ipv4'"); + } + if (args?.networkAreaId === undefined && !opts.urn) { + throw new Error("Missing required property 'networkAreaId'"); + } + if (args?.organizationId === undefined && !opts.urn) { + throw new Error("Missing required property 'organizationId'"); + } + resourceInputs["ipv4"] = args?.ipv4; + resourceInputs["networkAreaId"] = args?.networkAreaId; + resourceInputs["organizationId"] = args?.organizationId; + resourceInputs["region"] = args?.region; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(NetworkAreaRegion.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering NetworkAreaRegion resources. + */ +export interface NetworkAreaRegionState { + /** + * The regional IPv4 config of a network area. + */ + ipv4?: pulumi.Input; + /** + * The network area ID. + */ + networkAreaId?: pulumi.Input; + /** + * STACKIT organization ID to which the network area is associated. + */ + organizationId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} + +/** + * The set of arguments for constructing a NetworkAreaRegion resource. + */ +export interface NetworkAreaRegionArgs { + /** + * The regional IPv4 config of a network area. + */ + ipv4: pulumi.Input; + /** + * The network area ID. + */ + networkAreaId: pulumi.Input; + /** + * STACKIT organization ID to which the network area is associated. + */ + organizationId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/networkAreaRoute.ts b/sdk/nodejs/networkAreaRoute.ts index 4b7aa8a..6949dd3 100644 --- a/sdk/nodejs/networkAreaRoute.ts +++ b/sdk/nodejs/networkAreaRoute.ts @@ -2,13 +2,10 @@ // *** 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"; -/** - * Network area route resource schema. Must have a `region` specified in the provider configuration. - * - * ## Example Usage - */ export class NetworkAreaRoute extends pulumi.CustomResource { /** * Get an existing NetworkAreaRoute resource's state with the given name, ID, and optional extra @@ -37,6 +34,10 @@ export class NetworkAreaRoute extends pulumi.CustomResource { return obj['__pulumiType'] === NetworkAreaRoute.__pulumiType; } + /** + * Destination of the route. + */ + declare public readonly destination: pulumi.Output; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -50,17 +51,17 @@ export class NetworkAreaRoute extends pulumi.CustomResource { */ declare public /*out*/ readonly networkAreaRouteId: pulumi.Output; /** - * The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + * Next hop destination. */ - declare public readonly nextHop: pulumi.Output; + declare public readonly nextHop: pulumi.Output; /** * STACKIT organization ID to which the network area is associated. */ declare public readonly organizationId: pulumi.Output; /** - * The network, that is reachable though the Next Hop. Should use CIDR notation. + * The resource region. If not defined, the provider region is used. */ - declare public readonly prefix: pulumi.Output; + declare public readonly region: pulumi.Output; /** * Create a NetworkAreaRoute resource with the given unique name, arguments, and options. @@ -75,14 +76,18 @@ export class NetworkAreaRoute extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as NetworkAreaRouteState | undefined; + resourceInputs["destination"] = state?.destination; resourceInputs["labels"] = state?.labels; resourceInputs["networkAreaId"] = state?.networkAreaId; resourceInputs["networkAreaRouteId"] = state?.networkAreaRouteId; resourceInputs["nextHop"] = state?.nextHop; resourceInputs["organizationId"] = state?.organizationId; - resourceInputs["prefix"] = state?.prefix; + resourceInputs["region"] = state?.region; } else { const args = argsOrState as NetworkAreaRouteArgs | undefined; + if (args?.destination === undefined && !opts.urn) { + throw new Error("Missing required property 'destination'"); + } if (args?.networkAreaId === undefined && !opts.urn) { throw new Error("Missing required property 'networkAreaId'"); } @@ -92,14 +97,12 @@ export class NetworkAreaRoute extends pulumi.CustomResource { if (args?.organizationId === undefined && !opts.urn) { throw new Error("Missing required property 'organizationId'"); } - if (args?.prefix === undefined && !opts.urn) { - throw new Error("Missing required property 'prefix'"); - } + resourceInputs["destination"] = args?.destination; resourceInputs["labels"] = args?.labels; resourceInputs["networkAreaId"] = args?.networkAreaId; resourceInputs["nextHop"] = args?.nextHop; resourceInputs["organizationId"] = args?.organizationId; - resourceInputs["prefix"] = args?.prefix; + resourceInputs["region"] = args?.region; resourceInputs["networkAreaRouteId"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -111,6 +114,10 @@ export class NetworkAreaRoute extends pulumi.CustomResource { * Input properties used for looking up and filtering NetworkAreaRoute resources. */ export interface NetworkAreaRouteState { + /** + * Destination of the route. + */ + destination?: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -124,23 +131,27 @@ export interface NetworkAreaRouteState { */ networkAreaRouteId?: pulumi.Input; /** - * The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + * Next hop destination. */ - nextHop?: pulumi.Input; + nextHop?: pulumi.Input; /** * STACKIT organization ID to which the network area is associated. */ organizationId?: pulumi.Input; /** - * The network, that is reachable though the Next Hop. Should use CIDR notation. + * The resource region. If not defined, the provider region is used. */ - prefix?: pulumi.Input; + region?: pulumi.Input; } /** * The set of arguments for constructing a NetworkAreaRoute resource. */ export interface NetworkAreaRouteArgs { + /** + * Destination of the route. + */ + destination: pulumi.Input; /** * Labels are key-value string pairs which can be attached to a resource container */ @@ -150,15 +161,15 @@ export interface NetworkAreaRouteArgs { */ networkAreaId: pulumi.Input; /** - * The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + * Next hop destination. */ - nextHop: pulumi.Input; + nextHop: pulumi.Input; /** * STACKIT organization ID to which the network area is associated. */ organizationId: pulumi.Input; /** - * The network, that is reachable though the Next Hop. Should use CIDR notation. + * The resource region. If not defined, the provider region is used. */ - prefix: pulumi.Input; + region?: pulumi.Input; } diff --git a/sdk/nodejs/networkInterface.ts b/sdk/nodejs/networkInterface.ts index 6a6a5dd..ddd61c0 100644 --- a/sdk/nodejs/networkInterface.ts +++ b/sdk/nodejs/networkInterface.ts @@ -73,6 +73,10 @@ export class NetworkInterface extends pulumi.CustomResource { * STACKIT project ID to which the network is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The Network Interface Security. If set to false, then no security groups will apply to this network interface. */ @@ -108,6 +112,7 @@ export class NetworkInterface extends pulumi.CustomResource { resourceInputs["networkId"] = state?.networkId; resourceInputs["networkInterfaceId"] = state?.networkInterfaceId; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["security"] = state?.security; resourceInputs["securityGroupIds"] = state?.securityGroupIds; resourceInputs["type"] = state?.type; @@ -125,6 +130,7 @@ export class NetworkInterface extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["networkId"] = args?.networkId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["security"] = args?.security; resourceInputs["securityGroupIds"] = args?.securityGroupIds; resourceInputs["device"] = undefined /*out*/; @@ -177,6 +183,10 @@ export interface NetworkInterfaceState { * STACKIT project ID to which the network is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The Network Interface Security. If set to false, then no security groups will apply to this network interface. */ @@ -219,6 +229,10 @@ export interface NetworkInterfaceArgs { * STACKIT project ID to which the network is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The Network Interface Security. If set to false, then no security groups will apply to this network interface. */ diff --git a/sdk/nodejs/package.json b/sdk/nodejs/package.json index 68992d1..2234a18 100644 --- a/sdk/nodejs/package.json +++ b/sdk/nodejs/package.json @@ -5,7 +5,7 @@ "keywords": [ "pulumi", "stackit", - "category/utility" + "category/cloud" ], "homepage": "https://www.pulumi.com", "repository": "https://github.com/stackitcloud/pulumi-stackit", diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index 83ee7de..f21f3e3 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -156,13 +156,17 @@ export class Provider extends pulumi.ProviderResource { /** * Token used for authentication. If set, the token flow will be used to authenticate all operations. * - * @deprecated Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html + * @deprecated Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ */ declare public readonly serviceAccountToken: pulumi.Output; /** * Custom endpoint for the Service Enablement API */ declare public readonly serviceEnablementCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Stackit Filestorage API + */ + declare public readonly sfsCustomEndpoint: pulumi.Output; /** * Custom endpoint for the Kubernetes Engine (SKE) service */ @@ -222,6 +226,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["serviceAccountKeyPath"] = args?.serviceAccountKeyPath; resourceInputs["serviceAccountToken"] = args?.serviceAccountToken; resourceInputs["serviceEnablementCustomEndpoint"] = args?.serviceEnablementCustomEndpoint; + resourceInputs["sfsCustomEndpoint"] = args?.sfsCustomEndpoint; resourceInputs["skeCustomEndpoint"] = args?.skeCustomEndpoint; resourceInputs["sqlserverflexCustomEndpoint"] = args?.sqlserverflexCustomEndpoint; resourceInputs["tokenCustomEndpoint"] = args?.tokenCustomEndpoint; @@ -383,13 +388,17 @@ export interface ProviderArgs { /** * Token used for authentication. If set, the token flow will be used to authenticate all operations. * - * @deprecated Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html + * @deprecated Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `serviceAccountKey` or `serviceAccountKeyPath` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ */ serviceAccountToken?: pulumi.Input; /** * Custom endpoint for the Service Enablement API */ serviceEnablementCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Stackit Filestorage API + */ + sfsCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the Kubernetes Engine (SKE) service */ diff --git a/sdk/nodejs/publicIp.ts b/sdk/nodejs/publicIp.ts index ac1e3e0..e7afea3 100644 --- a/sdk/nodejs/publicIp.ts +++ b/sdk/nodejs/publicIp.ts @@ -54,6 +54,10 @@ export class PublicIp extends pulumi.CustomResource { * The public IP ID. */ declare public /*out*/ readonly publicIpId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * Create a PublicIp resource with the given unique name, arguments, and options. @@ -73,6 +77,7 @@ export class PublicIp extends pulumi.CustomResource { resourceInputs["networkInterfaceId"] = state?.networkInterfaceId; resourceInputs["projectId"] = state?.projectId; resourceInputs["publicIpId"] = state?.publicIpId; + resourceInputs["region"] = state?.region; } else { const args = argsOrState as PublicIpArgs | undefined; if (args?.projectId === undefined && !opts.urn) { @@ -81,6 +86,7 @@ export class PublicIp extends pulumi.CustomResource { resourceInputs["labels"] = args?.labels; resourceInputs["networkInterfaceId"] = args?.networkInterfaceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["ip"] = undefined /*out*/; resourceInputs["publicIpId"] = undefined /*out*/; } @@ -110,6 +116,10 @@ export interface PublicIpState { * The public IP ID. */ publicIpId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } /** @@ -125,4 +135,8 @@ export interface PublicIpArgs { * STACKIT project ID to which the public IP is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/publicIpAssociate.ts b/sdk/nodejs/publicIpAssociate.ts index 81879c4..681aa28 100644 --- a/sdk/nodejs/publicIpAssociate.ts +++ b/sdk/nodejs/publicIpAssociate.ts @@ -56,6 +56,10 @@ export class PublicIpAssociate extends pulumi.CustomResource { * The public IP ID. */ declare public readonly publicIpId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * Create a PublicIpAssociate resource with the given unique name, arguments, and options. @@ -74,6 +78,7 @@ export class PublicIpAssociate extends pulumi.CustomResource { resourceInputs["networkInterfaceId"] = state?.networkInterfaceId; resourceInputs["projectId"] = state?.projectId; resourceInputs["publicIpId"] = state?.publicIpId; + resourceInputs["region"] = state?.region; } else { const args = argsOrState as PublicIpAssociateArgs | undefined; if (args?.networkInterfaceId === undefined && !opts.urn) { @@ -88,6 +93,7 @@ export class PublicIpAssociate extends pulumi.CustomResource { resourceInputs["networkInterfaceId"] = args?.networkInterfaceId; resourceInputs["projectId"] = args?.projectId; resourceInputs["publicIpId"] = args?.publicIpId; + resourceInputs["region"] = args?.region; resourceInputs["ip"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -115,6 +121,10 @@ export interface PublicIpAssociateState { * The public IP ID. */ publicIpId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } /** @@ -133,4 +143,8 @@ export interface PublicIpAssociateArgs { * The public IP ID. */ publicIpId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; } diff --git a/sdk/nodejs/securityGroup.ts b/sdk/nodejs/securityGroup.ts index dd40a44..b27caf4 100644 --- a/sdk/nodejs/securityGroup.ts +++ b/sdk/nodejs/securityGroup.ts @@ -53,6 +53,10 @@ export class SecurityGroup extends pulumi.CustomResource { * STACKIT project ID to which the security group is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The security group ID. */ @@ -79,6 +83,7 @@ export class SecurityGroup extends pulumi.CustomResource { resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["securityGroupId"] = state?.securityGroupId; resourceInputs["stateful"] = state?.stateful; } else { @@ -90,6 +95,7 @@ export class SecurityGroup extends pulumi.CustomResource { resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["stateful"] = args?.stateful; resourceInputs["securityGroupId"] = undefined /*out*/; } @@ -118,6 +124,10 @@ export interface SecurityGroupState { * STACKIT project ID to which the security group is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The security group ID. */ @@ -148,6 +158,10 @@ export interface SecurityGroupArgs { * STACKIT project ID to which the security group is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. */ diff --git a/sdk/nodejs/securityGroupRule.ts b/sdk/nodejs/securityGroupRule.ts index a13356a..6fd806a 100644 --- a/sdk/nodejs/securityGroupRule.ts +++ b/sdk/nodejs/securityGroupRule.ts @@ -71,6 +71,10 @@ export class SecurityGroupRule extends pulumi.CustomResource { * The internet protocol which the rule should match. */ declare public readonly protocol: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The remote security group which the rule should match. */ @@ -105,6 +109,7 @@ export class SecurityGroupRule extends pulumi.CustomResource { resourceInputs["portRange"] = state?.portRange; resourceInputs["projectId"] = state?.projectId; resourceInputs["protocol"] = state?.protocol; + resourceInputs["region"] = state?.region; resourceInputs["remoteSecurityGroupId"] = state?.remoteSecurityGroupId; resourceInputs["securityGroupId"] = state?.securityGroupId; resourceInputs["securityGroupRuleId"] = state?.securityGroupRuleId; @@ -127,6 +132,7 @@ export class SecurityGroupRule extends pulumi.CustomResource { resourceInputs["portRange"] = args?.portRange; resourceInputs["projectId"] = args?.projectId; resourceInputs["protocol"] = args?.protocol; + resourceInputs["region"] = args?.region; resourceInputs["remoteSecurityGroupId"] = args?.remoteSecurityGroupId; resourceInputs["securityGroupId"] = args?.securityGroupId; resourceInputs["securityGroupRuleId"] = undefined /*out*/; @@ -172,6 +178,10 @@ export interface SecurityGroupRuleState { * The internet protocol which the rule should match. */ protocol?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The remote security group which the rule should match. */ @@ -222,6 +232,10 @@ export interface SecurityGroupRuleArgs { * The internet protocol which the rule should match. */ protocol?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The remote security group which the rule should match. */ diff --git a/sdk/nodejs/server.ts b/sdk/nodejs/server.ts index 04bb6f7..8042641 100644 --- a/sdk/nodejs/server.ts +++ b/sdk/nodejs/server.ts @@ -90,7 +90,7 @@ export class Server extends pulumi.CustomResource { */ declare public /*out*/ readonly launchedAt: pulumi.Output; /** - * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) */ declare public readonly machineType: pulumi.Output; /** @@ -98,13 +98,17 @@ export class Server extends pulumi.CustomResource { */ declare public readonly name: pulumi.Output; /** - * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** */ declare public readonly networkInterfaces: pulumi.Output; /** * STACKIT project ID to which the server is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The server ID. */ @@ -144,6 +148,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["name"] = state?.name; resourceInputs["networkInterfaces"] = state?.networkInterfaces; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["serverId"] = state?.serverId; resourceInputs["updatedAt"] = state?.updatedAt; resourceInputs["userData"] = state?.userData; @@ -166,6 +171,7 @@ export class Server extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["networkInterfaces"] = args?.networkInterfaces; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["userData"] = args?.userData; resourceInputs["createdAt"] = undefined /*out*/; resourceInputs["launchedAt"] = undefined /*out*/; @@ -218,7 +224,7 @@ export interface ServerState { */ launchedAt?: pulumi.Input; /** - * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) */ machineType?: pulumi.Input; /** @@ -226,13 +232,17 @@ export interface ServerState { */ name?: pulumi.Input; /** - * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** */ networkInterfaces?: pulumi.Input[]>; /** * STACKIT project ID to which the server is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ @@ -280,7 +290,7 @@ export interface ServerArgs { */ labels?: pulumi.Input<{[key: string]: pulumi.Input}>; /** - * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + * Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) */ machineType: pulumi.Input; /** @@ -288,13 +298,17 @@ export interface ServerArgs { */ name?: pulumi.Input; /** - * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + * The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** */ networkInterfaces?: pulumi.Input[]>; /** * STACKIT project ID to which the server is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * User data that is passed via cloud-init to the server. */ diff --git a/sdk/nodejs/serverNetworkInterfaceAttach.ts b/sdk/nodejs/serverNetworkInterfaceAttach.ts index ca99701..a5206f9 100644 --- a/sdk/nodejs/serverNetworkInterfaceAttach.ts +++ b/sdk/nodejs/serverNetworkInterfaceAttach.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot. + * Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot. * * ## Example Usage */ @@ -45,6 +45,10 @@ export class ServerNetworkInterfaceAttach extends pulumi.CustomResource { * STACKIT project ID to which the network interface attachment is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The server ID. */ @@ -65,6 +69,7 @@ export class ServerNetworkInterfaceAttach extends pulumi.CustomResource { const state = argsOrState as ServerNetworkInterfaceAttachState | undefined; resourceInputs["networkInterfaceId"] = state?.networkInterfaceId; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["serverId"] = state?.serverId; } else { const args = argsOrState as ServerNetworkInterfaceAttachArgs | undefined; @@ -79,6 +84,7 @@ export class ServerNetworkInterfaceAttach extends pulumi.CustomResource { } resourceInputs["networkInterfaceId"] = args?.networkInterfaceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["serverId"] = args?.serverId; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); @@ -98,6 +104,10 @@ export interface ServerNetworkInterfaceAttachState { * STACKIT project ID to which the network interface attachment is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ @@ -116,6 +126,10 @@ export interface ServerNetworkInterfaceAttachArgs { * STACKIT project ID to which the network interface attachment is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ diff --git a/sdk/nodejs/serverServiceAccountAttach.ts b/sdk/nodejs/serverServiceAccountAttach.ts index 87ae7e8..a0f70d9 100644 --- a/sdk/nodejs/serverServiceAccountAttach.ts +++ b/sdk/nodejs/serverServiceAccountAttach.ts @@ -41,6 +41,10 @@ export class ServerServiceAccountAttach extends pulumi.CustomResource { * STACKIT project ID to which the service account attachment is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The server ID. */ @@ -64,6 +68,7 @@ export class ServerServiceAccountAttach extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ServerServiceAccountAttachState | undefined; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["serverId"] = state?.serverId; resourceInputs["serviceAccountEmail"] = state?.serviceAccountEmail; } else { @@ -78,6 +83,7 @@ export class ServerServiceAccountAttach extends pulumi.CustomResource { throw new Error("Missing required property 'serviceAccountEmail'"); } resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["serverId"] = args?.serverId; resourceInputs["serviceAccountEmail"] = args?.serviceAccountEmail; } @@ -94,6 +100,10 @@ export interface ServerServiceAccountAttachState { * STACKIT project ID to which the service account attachment is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ @@ -112,6 +122,10 @@ export interface ServerServiceAccountAttachArgs { * STACKIT project ID to which the service account attachment is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ diff --git a/sdk/nodejs/serverVolumeAttach.ts b/sdk/nodejs/serverVolumeAttach.ts index f6ca979..4afdab3 100644 --- a/sdk/nodejs/serverVolumeAttach.ts +++ b/sdk/nodejs/serverVolumeAttach.ts @@ -41,6 +41,10 @@ export class ServerVolumeAttach extends pulumi.CustomResource { * STACKIT project ID to which the volume attachment is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The server ID. */ @@ -64,6 +68,7 @@ export class ServerVolumeAttach extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as ServerVolumeAttachState | undefined; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["serverId"] = state?.serverId; resourceInputs["volumeId"] = state?.volumeId; } else { @@ -78,6 +83,7 @@ export class ServerVolumeAttach extends pulumi.CustomResource { throw new Error("Missing required property 'volumeId'"); } resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["serverId"] = args?.serverId; resourceInputs["volumeId"] = args?.volumeId; } @@ -94,6 +100,10 @@ export interface ServerVolumeAttachState { * STACKIT project ID to which the volume attachment is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ @@ -112,6 +122,10 @@ export interface ServerVolumeAttachArgs { * STACKIT project ID to which the volume attachment is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID. */ diff --git a/sdk/nodejs/serviceAccountAccessToken.ts b/sdk/nodejs/serviceAccountAccessToken.ts index 1172aed..9d20ce8 100644 --- a/sdk/nodejs/serviceAccountAccessToken.ts +++ b/sdk/nodejs/serviceAccountAccessToken.ts @@ -7,7 +7,7 @@ import * as utilities from "./utilities"; /** * Service account access token schema. * - * !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations. + * !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations. * * ## Example Usage * diff --git a/sdk/nodejs/sfsExportPolicy.ts b/sdk/nodejs/sfsExportPolicy.ts new file mode 100644 index 0000000..6e063c8 --- /dev/null +++ b/sdk/nodejs/sfsExportPolicy.ts @@ -0,0 +1,136 @@ +// *** 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"; + +/** + * SFS export policy resource schema. Must have a `region` specified in the provider configuration. + * + * > 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 SfsExportPolicy extends pulumi.CustomResource { + /** + * Get an existing SfsExportPolicy 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?: SfsExportPolicyState, opts?: pulumi.CustomResourceOptions): SfsExportPolicy { + return new SfsExportPolicy(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/sfsExportPolicy:SfsExportPolicy'; + + /** + * Returns true if the given object is an instance of SfsExportPolicy. 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 SfsExportPolicy { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SfsExportPolicy.__pulumiType; + } + + /** + * Name of the export policy. + */ + declare public readonly name: pulumi.Output; + /** + * Export policy ID + */ + declare public /*out*/ readonly policyId: pulumi.Output; + /** + * STACKIT project ID to which the export policy is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly rules: pulumi.Output; + + /** + * Create a SfsExportPolicy 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: SfsExportPolicyArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SfsExportPolicyArgs | SfsExportPolicyState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SfsExportPolicyState | undefined; + resourceInputs["name"] = state?.name; + resourceInputs["policyId"] = state?.policyId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["rules"] = state?.rules; + } else { + const args = argsOrState as SfsExportPolicyArgs | undefined; + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["rules"] = args?.rules; + resourceInputs["policyId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SfsExportPolicy.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SfsExportPolicy resources. + */ +export interface SfsExportPolicyState { + /** + * Name of the export policy. + */ + name?: pulumi.Input; + /** + * Export policy ID + */ + policyId?: pulumi.Input; + /** + * STACKIT project ID to which the export policy is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + rules?: pulumi.Input[]>; +} + +/** + * The set of arguments for constructing a SfsExportPolicy resource. + */ +export interface SfsExportPolicyArgs { + /** + * Name of the export policy. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the export policy is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + rules?: pulumi.Input[]>; +} diff --git a/sdk/nodejs/sfsResourcePool.ts b/sdk/nodejs/sfsResourcePool.ts new file mode 100644 index 0000000..c372759 --- /dev/null +++ b/sdk/nodejs/sfsResourcePool.ts @@ -0,0 +1,211 @@ +// *** 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"; + +/** + * Resource-pool resource schema. Must have a `region` specified in the provider configuration. + * + * > 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 SfsResourcePool extends pulumi.CustomResource { + /** + * Get an existing SfsResourcePool 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?: SfsResourcePoolState, opts?: pulumi.CustomResourceOptions): SfsResourcePool { + return new SfsResourcePool(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/sfsResourcePool:SfsResourcePool'; + + /** + * Returns true if the given object is an instance of SfsResourcePool. 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 SfsResourcePool { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SfsResourcePool.__pulumiType; + } + + /** + * Availability zone. + */ + declare public readonly availabilityZone: pulumi.Output; + /** + * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + declare public readonly ipAcls: pulumi.Output; + /** + * Name of the resource pool. + */ + declare public readonly name: pulumi.Output; + /** + * Name of the performance class. + */ + declare public readonly performanceClass: pulumi.Output; + /** + * STACKIT project ID to which the resource pool is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * Resource pool ID + */ + declare public /*out*/ readonly resourcePoolId: pulumi.Output; + /** + * Size of the resource pool (unit: gigabytes) + */ + declare public readonly sizeGigabytes: pulumi.Output; + /** + * If set to true, snapshots are visible and accessible to users. (default: false) + */ + declare public readonly snapshotsAreVisible: pulumi.Output; + + /** + * Create a SfsResourcePool 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: SfsResourcePoolArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SfsResourcePoolArgs | SfsResourcePoolState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SfsResourcePoolState | undefined; + resourceInputs["availabilityZone"] = state?.availabilityZone; + resourceInputs["ipAcls"] = state?.ipAcls; + resourceInputs["name"] = state?.name; + resourceInputs["performanceClass"] = state?.performanceClass; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["resourcePoolId"] = state?.resourcePoolId; + resourceInputs["sizeGigabytes"] = state?.sizeGigabytes; + resourceInputs["snapshotsAreVisible"] = state?.snapshotsAreVisible; + } else { + const args = argsOrState as SfsResourcePoolArgs | undefined; + if (args?.availabilityZone === undefined && !opts.urn) { + throw new Error("Missing required property 'availabilityZone'"); + } + if (args?.ipAcls === undefined && !opts.urn) { + throw new Error("Missing required property 'ipAcls'"); + } + if (args?.performanceClass === undefined && !opts.urn) { + throw new Error("Missing required property 'performanceClass'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.sizeGigabytes === undefined && !opts.urn) { + throw new Error("Missing required property 'sizeGigabytes'"); + } + resourceInputs["availabilityZone"] = args?.availabilityZone; + resourceInputs["ipAcls"] = args?.ipAcls; + resourceInputs["name"] = args?.name; + resourceInputs["performanceClass"] = args?.performanceClass; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["sizeGigabytes"] = args?.sizeGigabytes; + resourceInputs["snapshotsAreVisible"] = args?.snapshotsAreVisible; + resourceInputs["resourcePoolId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SfsResourcePool.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SfsResourcePool resources. + */ +export interface SfsResourcePoolState { + /** + * Availability zone. + */ + availabilityZone?: pulumi.Input; + /** + * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + ipAcls?: pulumi.Input[]>; + /** + * Name of the resource pool. + */ + name?: pulumi.Input; + /** + * Name of the performance class. + */ + performanceClass?: pulumi.Input; + /** + * STACKIT project ID to which the resource pool is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Resource pool ID + */ + resourcePoolId?: pulumi.Input; + /** + * Size of the resource pool (unit: gigabytes) + */ + sizeGigabytes?: pulumi.Input; + /** + * If set to true, snapshots are visible and accessible to users. (default: false) + */ + snapshotsAreVisible?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SfsResourcePool resource. + */ +export interface SfsResourcePoolArgs { + /** + * Availability zone. + */ + availabilityZone: pulumi.Input; + /** + * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + ipAcls: pulumi.Input[]>; + /** + * Name of the resource pool. + */ + name?: pulumi.Input; + /** + * Name of the performance class. + */ + performanceClass: pulumi.Input; + /** + * STACKIT project ID to which the resource pool is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Size of the resource pool (unit: gigabytes) + */ + sizeGigabytes: pulumi.Input; + /** + * If set to true, snapshots are visible and accessible to users. (default: false) + */ + snapshotsAreVisible?: pulumi.Input; +} diff --git a/sdk/nodejs/sfsShare.ts b/sdk/nodejs/sfsShare.ts new file mode 100644 index 0000000..6c6ec6a --- /dev/null +++ b/sdk/nodejs/sfsShare.ts @@ -0,0 +1,205 @@ +// *** 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"; + +/** + * SFS Share schema. Must have a `region` specified in the provider configuration. + * + * > 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 SfsShare extends pulumi.CustomResource { + /** + * Get an existing SfsShare 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?: SfsShareState, opts?: pulumi.CustomResourceOptions): SfsShare { + return new SfsShare(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/sfsShare:SfsShare'; + + /** + * Returns true if the given object is an instance of SfsShare. 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 SfsShare { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === SfsShare.__pulumiType; + } + + /** + * Name of the Share Export Policy to use in the Share. + * Note that if this is set to an empty string, the Share can only be mounted in read only by + * clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + * You can also assign a Share Export Policy after creating the Share + */ + declare public readonly exportPolicy: pulumi.Output; + /** + * Mount path of the Share, used to mount the Share + */ + declare public /*out*/ readonly mountPath: pulumi.Output; + /** + * Name of the share. + */ + declare public readonly name: pulumi.Output; + /** + * STACKIT project ID to which the share is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The ID of the resource pool for the SFS share. + */ + declare public readonly resourcePoolId: pulumi.Output; + /** + * share ID + */ + declare public /*out*/ readonly shareId: pulumi.Output; + /** + * Space hard limit for the Share. + * If zero, the Share will have access to the full space of the Resource Pool it lives in. + * (unit: gigabytes) + */ + declare public readonly spaceHardLimitGigabytes: pulumi.Output; + + /** + * Create a SfsShare 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: SfsShareArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: SfsShareArgs | SfsShareState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as SfsShareState | undefined; + resourceInputs["exportPolicy"] = state?.exportPolicy; + resourceInputs["mountPath"] = state?.mountPath; + resourceInputs["name"] = state?.name; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["resourcePoolId"] = state?.resourcePoolId; + resourceInputs["shareId"] = state?.shareId; + resourceInputs["spaceHardLimitGigabytes"] = state?.spaceHardLimitGigabytes; + } else { + const args = argsOrState as SfsShareArgs | undefined; + if (args?.exportPolicy === undefined && !opts.urn) { + throw new Error("Missing required property 'exportPolicy'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.resourcePoolId === undefined && !opts.urn) { + throw new Error("Missing required property 'resourcePoolId'"); + } + if (args?.spaceHardLimitGigabytes === undefined && !opts.urn) { + throw new Error("Missing required property 'spaceHardLimitGigabytes'"); + } + resourceInputs["exportPolicy"] = args?.exportPolicy; + resourceInputs["name"] = args?.name; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["resourcePoolId"] = args?.resourcePoolId; + resourceInputs["spaceHardLimitGigabytes"] = args?.spaceHardLimitGigabytes; + resourceInputs["mountPath"] = undefined /*out*/; + resourceInputs["shareId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(SfsShare.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering SfsShare resources. + */ +export interface SfsShareState { + /** + * Name of the Share Export Policy to use in the Share. + * Note that if this is set to an empty string, the Share can only be mounted in read only by + * clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + * You can also assign a Share Export Policy after creating the Share + */ + exportPolicy?: pulumi.Input; + /** + * Mount path of the Share, used to mount the Share + */ + mountPath?: pulumi.Input; + /** + * Name of the share. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the share is associated. + */ + projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The ID of the resource pool for the SFS share. + */ + resourcePoolId?: pulumi.Input; + /** + * share ID + */ + shareId?: pulumi.Input; + /** + * Space hard limit for the Share. + * If zero, the Share will have access to the full space of the Resource Pool it lives in. + * (unit: gigabytes) + */ + spaceHardLimitGigabytes?: pulumi.Input; +} + +/** + * The set of arguments for constructing a SfsShare resource. + */ +export interface SfsShareArgs { + /** + * Name of the Share Export Policy to use in the Share. + * Note that if this is set to an empty string, the Share can only be mounted in read only by + * clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + * You can also assign a Share Export Policy after creating the Share + */ + exportPolicy: pulumi.Input; + /** + * Name of the share. + */ + name?: pulumi.Input; + /** + * STACKIT project ID to which the share is associated. + */ + projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The ID of the resource pool for the SFS share. + */ + resourcePoolId: pulumi.Input; + /** + * Space hard limit for the Share. + * If zero, the Share will have access to the full space of the Resource Pool it lives in. + * (unit: gigabytes) + */ + spaceHardLimitGigabytes: pulumi.Input; +} diff --git a/sdk/nodejs/skeCluster.ts b/sdk/nodejs/skeCluster.ts index 6869df9..eb47103 100644 --- a/sdk/nodejs/skeCluster.ts +++ b/sdk/nodejs/skeCluster.ts @@ -54,11 +54,11 @@ export class SkeCluster extends pulumi.CustomResource { */ declare public readonly hibernations: pulumi.Output; /** - * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. */ declare public readonly kubernetesVersionMin: pulumi.Output; /** - * Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ declare public /*out*/ readonly kubernetesVersionUsed: pulumi.Output; /** @@ -158,11 +158,11 @@ export interface SkeClusterState { */ hibernations?: pulumi.Input[]>; /** - * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. */ kubernetesVersionMin?: pulumi.Input; /** - * Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Full Kubernetes version used. For example, if 1.22 was set in `kubernetesVersionMin`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ kubernetesVersionUsed?: pulumi.Input; /** @@ -208,7 +208,7 @@ export interface SkeClusterArgs { */ hibernations?: pulumi.Input[]>; /** - * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. + * The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetesVersionUsed` field. */ kubernetesVersionMin?: pulumi.Input; /** diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 7776483..e7137c4 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -45,6 +45,7 @@ "getMongodbflexUser.ts", "getNetwork.ts", "getNetworkArea.ts", + "getNetworkAreaRegion.ts", "getNetworkAreaRoute.ts", "getNetworkInterface.ts", "getObjectstorageBucket.ts", @@ -84,6 +85,10 @@ "getServerUpdateSchedule.ts", "getServerUpdateSchedules.ts", "getServiceAccount.ts", + "getSfsExportPolicy.ts", + "getSfsResourcePool.ts", + "getSfsResourcePoolSnapshot.ts", + "getSfsShare.ts", "getSkeCluster.ts", "getSqlserverflexInstance.ts", "getSqlserverflexUser.ts", @@ -106,6 +111,7 @@ "mongodbflexUser.ts", "network.ts", "networkArea.ts", + "networkAreaRegion.ts", "networkAreaRoute.ts", "networkInterface.ts", "objectstorageBucket.ts", @@ -147,6 +153,9 @@ "serviceAccount.ts", "serviceAccountAccessToken.ts", "serviceAccountKey.ts", + "sfsExportPolicy.ts", + "sfsResourcePool.ts", + "sfsShare.ts", "skeCluster.ts", "skeKubeconfig.ts", "sqlserverflexInstance.ts", diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 1f9fb11..ea7069e 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -512,6 +512,46 @@ export interface MongodbflexInstanceStorage { } export interface NetworkAreaNetworkRange { + /** + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. + */ + networkRangeId?: pulumi.Input; + /** + * Classless Inter-Domain Routing (CIDR). + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. + */ + prefix: pulumi.Input; +} + +export interface NetworkAreaRegionIpv4 { + /** + * List of DNS Servers/Nameservers. + */ + defaultNameservers?: pulumi.Input[]>; + /** + * The default prefix length for networks in the network area. + */ + defaultPrefixLength?: pulumi.Input; + /** + * The maximal prefix length for networks in the network area. + */ + maxPrefixLength?: pulumi.Input; + /** + * The minimal prefix length for networks in the network area. + */ + minPrefixLength?: pulumi.Input; + /** + * List of Network ranges. + */ + networkRanges: pulumi.Input[]>; + /** + * IPv4 Classless Inter-Domain Routing (CIDR). + */ + transferNetwork: pulumi.Input; +} + +export interface NetworkAreaRegionIpv4NetworkRange { networkRangeId?: pulumi.Input; /** * Classless Inter-Domain Routing (CIDR). @@ -519,6 +559,28 @@ export interface NetworkAreaNetworkRange { prefix: pulumi.Input; } +export interface NetworkAreaRouteDestination { + /** + * CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + */ + type: pulumi.Input; + /** + * An CIDR string. + */ + value: pulumi.Input; +} + +export interface NetworkAreaRouteNextHop { + /** + * Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + */ + type: pulumi.Input; + /** + * Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + */ + value?: pulumi.Input; +} + export interface ObservabilityAlertgroupRule { /** * The name of the alert rule. Is the identifier and must be unique in the group. @@ -1111,6 +1173,33 @@ export interface ServerBootVolume { sourceType: pulumi.Input; } +export interface SfsExportPolicyRule { + /** + * Description of the Rule + */ + description?: pulumi.Input; + /** + * IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + ipAcls: pulumi.Input[]>; + /** + * Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + */ + order: pulumi.Input; + /** + * Flag to indicate if client IPs matching this rule can only mount the share in read only mode + */ + readOnly?: pulumi.Input; + /** + * Flag to honor set UUID + */ + setUuid?: pulumi.Input; + /** + * Flag to indicate if client IPs matching this rule have root access on the Share + */ + superUser?: pulumi.Input; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. @@ -1193,11 +1282,11 @@ export interface SkeClusterHibernation { export interface SkeClusterMaintenance { /** - * Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ enableKubernetesVersionUpdates?: pulumi.Input; /** - * Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ enableMachineImageVersionUpdates?: pulumi.Input; /** @@ -1269,11 +1358,11 @@ export interface SkeClusterNodePool { */ osVersion?: pulumi.Input; /** - * The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + * The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. */ osVersionMin?: pulumi.Input; /** - * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ osVersionUsed?: pulumi.Input; /** diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 3f2e300..891dfe8 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -610,6 +610,63 @@ export interface GetNetworkAreaNetworkRange { prefix: string; } +export interface GetNetworkAreaRegionIpv4 { + /** + * List of DNS Servers/Nameservers. + */ + defaultNameservers: string[]; + /** + * The default prefix length for networks in the network area. + */ + defaultPrefixLength: number; + /** + * The maximal prefix length for networks in the network area. + */ + maxPrefixLength: number; + /** + * The minimal prefix length for networks in the network area. + */ + minPrefixLength: number; + /** + * List of Network ranges. + */ + networkRanges: outputs.GetNetworkAreaRegionIpv4NetworkRange[]; + /** + * IPv4 Classless Inter-Domain Routing (CIDR). + */ + transferNetwork: string; +} + +export interface GetNetworkAreaRegionIpv4NetworkRange { + networkRangeId: string; + /** + * Classless Inter-Domain Routing (CIDR). + */ + prefix: string; +} + +export interface GetNetworkAreaRouteDestination { + /** + * CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + */ + type: string; + /** + * An CIDR string. + */ + value: string; +} + +export interface GetNetworkAreaRouteNextHop { + /** + * Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + */ + type: string; + /** + * Either IPv4 or IPv6 (not set for blackhole and internet). + */ + value: string; +} + export interface GetObservabilityAlertgroupRule { /** * The name of the alert rule. Is the identifier and must be unique in the group. @@ -1323,6 +1380,60 @@ export interface GetServerUpdateSchedulesItem { updateScheduleId: number; } +export interface GetSfsExportPolicyRule { + /** + * Description of the Rule + */ + description?: string; + /** + * IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + ipAcls: string[]; + /** + * Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + */ + order: number; + /** + * Flag to indicate if client IPs matching this rule can only mount the share in read only mode + */ + readOnly: boolean; + /** + * Flag to honor set UUID + */ + setUuid: boolean; + /** + * Flag to indicate if client IPs matching this rule have root access on the Share + */ + superUser: boolean; +} + +export interface GetSfsResourcePoolSnapshotSnapshot { + /** + * (optional) A comment to add more information about a snapshot + */ + comment: string; + /** + * creation date of the snapshot + */ + createdAt: string; + /** + * Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + */ + logicalSizeGigabytes: number; + /** + * ID of the Resource Pool of the Snapshot + */ + resourcePoolId: string; + /** + * Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + */ + sizeGigabytes: number; + /** + * Name of the Resource Pool Snapshot + */ + snapshotName: string; +} + export interface GetSkeClusterExtensions { /** * Cluster access control configuration @@ -1479,11 +1590,11 @@ export interface GetSkeClusterNodePool { */ osVersion: string; /** - * The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + * The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. */ osVersionMin: string; /** - * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ osVersionUsed: string; /** @@ -1914,13 +2025,75 @@ export interface MongodbflexInstanceStorage { } export interface NetworkAreaNetworkRange { + /** + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. + */ networkRangeId: string; /** * Classless Inter-Domain Routing (CIDR). + * + * @deprecated Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `stackit.NetworkAreaRegion` resource instead. */ prefix: string; } +export interface NetworkAreaRegionIpv4 { + /** + * List of DNS Servers/Nameservers. + */ + defaultNameservers?: string[]; + /** + * The default prefix length for networks in the network area. + */ + defaultPrefixLength: number; + /** + * The maximal prefix length for networks in the network area. + */ + maxPrefixLength: number; + /** + * The minimal prefix length for networks in the network area. + */ + minPrefixLength: number; + /** + * List of Network ranges. + */ + networkRanges: outputs.NetworkAreaRegionIpv4NetworkRange[]; + /** + * IPv4 Classless Inter-Domain Routing (CIDR). + */ + transferNetwork: string; +} + +export interface NetworkAreaRegionIpv4NetworkRange { + networkRangeId: string; + /** + * Classless Inter-Domain Routing (CIDR). + */ + prefix: string; +} + +export interface NetworkAreaRouteDestination { + /** + * CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + */ + type: string; + /** + * An CIDR string. + */ + value: string; +} + +export interface NetworkAreaRouteNextHop { + /** + * Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + */ + type: string; + /** + * Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + */ + value?: string; +} + export interface ObservabilityAlertgroupRule { /** * The name of the alert rule. Is the identifier and must be unique in the group. @@ -1963,11 +2136,11 @@ export interface ObservabilityInstanceAlertConfigGlobal { /** * The API key for OpsGenie. */ - opsgenieApiKey?: string; + opsgenieApiKey: string; /** * The host to send OpsGenie API requests to. Must be a valid URL */ - opsgenieApiUrl?: string; + opsgenieApiUrl: string; /** * The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. */ @@ -1975,15 +2148,15 @@ export interface ObservabilityInstanceAlertConfigGlobal { /** * SMTP authentication information. Must be a valid email address */ - smtpAuthIdentity?: string; + smtpAuthIdentity: string; /** * SMTP Auth using LOGIN and PLAIN. */ - smtpAuthPassword?: string; + smtpAuthPassword: string; /** * SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. */ - smtpAuthUsername?: string; + smtpAuthUsername: string; /** * The default SMTP From header field. Must be a valid email address */ @@ -1991,7 +2164,7 @@ export interface ObservabilityInstanceAlertConfigGlobal { /** * The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). */ - smtpSmartHost?: string; + smtpSmartHost: string; } export interface ObservabilityInstanceAlertConfigReceiver { @@ -2033,7 +2206,7 @@ export interface ObservabilityInstanceAlertConfigReceiverEmailConfig { /** * Whether to notify about resolved alerts. */ - sendResolved?: boolean; + sendResolved: boolean; /** * The SMTP host through which emails are sent. */ @@ -2060,7 +2233,7 @@ export interface ObservabilityInstanceAlertConfigReceiverOpsgenieConfig { /** * Whether to notify about resolved alerts. */ - sendResolved?: boolean; + sendResolved: boolean; /** * Comma separated list of tags attached to the notifications. */ @@ -2079,7 +2252,7 @@ export interface ObservabilityInstanceAlertConfigReceiverWebhooksConfig { /** * Whether to notify about resolved alerts. */ - sendResolved?: boolean; + sendResolved: boolean; /** * The endpoint to send HTTP POST requests to. Must be a valid URL */ @@ -2513,6 +2686,33 @@ export interface ServerBootVolume { sourceType: string; } +export interface SfsExportPolicyRule { + /** + * Description of the Rule + */ + description?: string; + /** + * IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + */ + ipAcls: string[]; + /** + * Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + */ + order: number; + /** + * Flag to indicate if client IPs matching this rule can only mount the share in read only mode + */ + readOnly: boolean; + /** + * Flag to honor set UUID + */ + setUuid: boolean; + /** + * Flag to indicate if client IPs matching this rule have root access on the Share + */ + superUser: boolean; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. @@ -2595,11 +2795,11 @@ export interface SkeClusterHibernation { export interface SkeClusterMaintenance { /** - * Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ enableKubernetesVersionUpdates: boolean; /** - * Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ enableMachineImageVersionUpdates: boolean; /** @@ -2671,11 +2871,11 @@ export interface SkeClusterNodePool { */ osVersion?: string; /** - * The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + * The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. */ osVersionMin?: string; /** - * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + * Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). */ osVersionUsed: string; /** diff --git a/sdk/nodejs/volume.ts b/sdk/nodejs/volume.ts index de93aee..3e4befa 100644 --- a/sdk/nodejs/volume.ts +++ b/sdk/nodejs/volume.ts @@ -56,13 +56,17 @@ export class Volume extends pulumi.CustomResource { */ declare public readonly name: pulumi.Output; /** - * The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + * 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) */ declare public readonly performanceClass: pulumi.Output; /** * STACKIT project ID to which the volume is associated. */ declare public readonly projectId: pulumi.Output; + /** + * The resource region. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; /** * The server ID of the server to which the volume is attached to. */ @@ -99,6 +103,7 @@ export class Volume extends pulumi.CustomResource { resourceInputs["name"] = state?.name; resourceInputs["performanceClass"] = state?.performanceClass; resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; resourceInputs["serverId"] = state?.serverId; resourceInputs["size"] = state?.size; resourceInputs["source"] = state?.source; @@ -117,6 +122,7 @@ export class Volume extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["performanceClass"] = args?.performanceClass; resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; resourceInputs["size"] = args?.size; resourceInputs["source"] = args?.source; resourceInputs["serverId"] = undefined /*out*/; @@ -148,13 +154,17 @@ export interface VolumeState { */ name?: pulumi.Input; /** - * The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + * 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) */ performanceClass?: pulumi.Input; /** * STACKIT project ID to which the volume is associated. */ projectId?: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The server ID of the server to which the volume is attached to. */ @@ -194,13 +204,17 @@ export interface VolumeArgs { */ name?: pulumi.Input; /** - * The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + * 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) */ performanceClass?: pulumi.Input; /** * STACKIT project ID to which the volume is associated. */ projectId: pulumi.Input; + /** + * The resource region. If not defined, the provider region is used. + */ + region?: pulumi.Input; /** * The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided */ diff --git a/sdk/python/Pulumi.yaml b/sdk/python/Pulumi.yaml index e69de29..f9ff750 100644 --- a/sdk/python/Pulumi.yaml +++ b/sdk/python/Pulumi.yaml @@ -0,0 +1,3 @@ +name: stackit +description: A Pulumi resource provider for stackit. +language: python diff --git a/sdk/python/README.md b/sdk/python/README.md index 6e5b948..b5b4f39 100644 --- a/sdk/python/README.md +++ b/sdk/python/README.md @@ -26,8 +26,8 @@ Apache 2.0 ## Installing > [!NOTE] -> Currently those packages are not available via the mentioned packages managers but can be installed locally by using the generated sdks directly. -> Keep in mind that this is in ALPHA state and only the Resource Manager and IaaS service is supported. +> Currently only the npm package is available via the mentioned packages managers but the other ones can be installed locally by using the generated SDKs directly. +> Keep in mind that this is in ALPHA state and only the Resource Manager and IaaS service for Node.js is supported. > E.g. in order to create and install the TypeScript SDK you can use the following [guide](./examples/ts/README.md). ### Node.js (JavaScript/TypeScript) diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index 64413a6..e37868a 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -36,6 +36,7 @@ from .get_mongodbflex_user import * from .get_network import * from .get_network_area import * +from .get_network_area_region import * from .get_network_area_route import * from .get_network_interface import * from .get_objectstorage_bucket import * @@ -75,6 +76,10 @@ from .get_server_update_schedule import * from .get_server_update_schedules import * from .get_service_account import * +from .get_sfs_export_policy import * +from .get_sfs_resource_pool import * +from .get_sfs_resource_pool_snapshot import * +from .get_sfs_share import * from .get_ske_cluster import * from .get_sqlserverflex_instance import * from .get_sqlserverflex_user import * @@ -96,6 +101,7 @@ from .mongodbflex_user import * from .network import * from .network_area import * +from .network_area_region import * from .network_area_route import * from .network_interface import * from .objectstorage_bucket import * @@ -137,6 +143,9 @@ from .service_account import * from .service_account_access_token import * from .service_account_key import * +from .sfs_export_policy import * +from .sfs_resource_pool import * +from .sfs_share import * from .ske_cluster import * from .ske_kubeconfig import * from .sqlserverflex_instance import * @@ -347,6 +356,14 @@ "stackit:index/networkArea:NetworkArea": "NetworkArea" } }, + { + "pkg": "stackit", + "mod": "index/networkAreaRegion", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/networkAreaRegion:NetworkAreaRegion": "NetworkAreaRegion" + } + }, { "pkg": "stackit", "mod": "index/networkAreaRoute", @@ -667,6 +684,30 @@ "stackit:index/serviceAccountKey:ServiceAccountKey": "ServiceAccountKey" } }, + { + "pkg": "stackit", + "mod": "index/sfsExportPolicy", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/sfsExportPolicy:SfsExportPolicy": "SfsExportPolicy" + } + }, + { + "pkg": "stackit", + "mod": "index/sfsResourcePool", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/sfsResourcePool:SfsResourcePool": "SfsResourcePool" + } + }, + { + "pkg": "stackit", + "mod": "index/sfsShare", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/sfsShare:SfsShare": "SfsShare" + } + }, { "pkg": "stackit", "mod": "index/skeCluster", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index bffe8f3..1a57b02 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -67,6 +67,14 @@ 'MongodbflexInstanceStorageArgsDict', 'NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict', + 'NetworkAreaRegionIpv4Args', + 'NetworkAreaRegionIpv4ArgsDict', + 'NetworkAreaRegionIpv4NetworkRangeArgs', + 'NetworkAreaRegionIpv4NetworkRangeArgsDict', + 'NetworkAreaRouteDestinationArgs', + 'NetworkAreaRouteDestinationArgsDict', + 'NetworkAreaRouteNextHopArgs', + 'NetworkAreaRouteNextHopArgsDict', 'ObservabilityAlertgroupRuleArgs', 'ObservabilityAlertgroupRuleArgsDict', 'ObservabilityInstanceAlertConfigArgs', @@ -117,6 +125,8 @@ 'ServerBackupScheduleBackupPropertiesArgsDict', 'ServerBootVolumeArgs', 'ServerBootVolumeArgsDict', + 'SfsExportPolicyRuleArgs', + 'SfsExportPolicyRuleArgsDict', 'SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict', 'SkeClusterExtensionsAclArgs', @@ -2446,6 +2456,188 @@ class NetworkAreaNetworkRangeArgsDict(TypedDict): @pulumi.input_type class NetworkAreaNetworkRangeArgs: + def __init__(__self__, *, + prefix: pulumi.Input[_builtins.str], + network_range_id: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] prefix: Classless Inter-Domain Routing (CIDR). + """ + if prefix is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""prefix is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + pulumi.set(__self__, "prefix", prefix) + if network_range_id is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""network_range_id is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + if network_range_id is not None: + pulumi.set(__self__, "network_range_id", network_range_id) + + @_builtins.property + @pulumi.getter + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def prefix(self) -> pulumi.Input[_builtins.str]: + """ + Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "prefix") + + @prefix.setter + def prefix(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "prefix", value) + + @_builtins.property + @pulumi.getter(name="networkRangeId") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def network_range_id(self) -> Optional[pulumi.Input[_builtins.str]]: + return pulumi.get(self, "network_range_id") + + @network_range_id.setter + def network_range_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "network_range_id", value) + + +if not MYPY: + class NetworkAreaRegionIpv4ArgsDict(TypedDict): + network_ranges: pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgsDict']]] + """ + List of Network ranges. + """ + transfer_network: pulumi.Input[_builtins.str] + """ + IPv4 Classless Inter-Domain Routing (CIDR). + """ + default_nameservers: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] + """ + List of DNS Servers/Nameservers. + """ + default_prefix_length: NotRequired[pulumi.Input[_builtins.int]] + """ + The default prefix length for networks in the network area. + """ + max_prefix_length: NotRequired[pulumi.Input[_builtins.int]] + """ + The maximal prefix length for networks in the network area. + """ + min_prefix_length: NotRequired[pulumi.Input[_builtins.int]] + """ + The minimal prefix length for networks in the network area. + """ +elif False: + NetworkAreaRegionIpv4ArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkAreaRegionIpv4Args: + def __init__(__self__, *, + network_ranges: pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgs']]], + transfer_network: pulumi.Input[_builtins.str], + default_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + default_prefix_length: Optional[pulumi.Input[_builtins.int]] = None, + max_prefix_length: Optional[pulumi.Input[_builtins.int]] = None, + min_prefix_length: Optional[pulumi.Input[_builtins.int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgs']]] network_ranges: List of Network ranges. + :param pulumi.Input[_builtins.str] transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers. + :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area. + """ + pulumi.set(__self__, "network_ranges", network_ranges) + pulumi.set(__self__, "transfer_network", transfer_network) + if default_nameservers is not None: + pulumi.set(__self__, "default_nameservers", default_nameservers) + if default_prefix_length is not None: + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + if max_prefix_length is not None: + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + + @_builtins.property + @pulumi.getter(name="networkRanges") + def network_ranges(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgs']]]: + """ + List of Network ranges. + """ + return pulumi.get(self, "network_ranges") + + @network_ranges.setter + def network_ranges(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkAreaRegionIpv4NetworkRangeArgs']]]): + pulumi.set(self, "network_ranges", value) + + @_builtins.property + @pulumi.getter(name="transferNetwork") + def transfer_network(self) -> pulumi.Input[_builtins.str]: + """ + IPv4 Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "transfer_network") + + @transfer_network.setter + def transfer_network(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "transfer_network", value) + + @_builtins.property + @pulumi.getter(name="defaultNameservers") + def default_nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of DNS Servers/Nameservers. + """ + return pulumi.get(self, "default_nameservers") + + @default_nameservers.setter + def default_nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "default_nameservers", value) + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The default prefix length for networks in the network area. + """ + return pulumi.get(self, "default_prefix_length") + + @default_prefix_length.setter + def default_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "default_prefix_length", value) + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The maximal prefix length for networks in the network area. + """ + return pulumi.get(self, "max_prefix_length") + + @max_prefix_length.setter + def max_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "max_prefix_length", value) + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + The minimal prefix length for networks in the network area. + """ + return pulumi.get(self, "min_prefix_length") + + @min_prefix_length.setter + def min_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "min_prefix_length", value) + + +if not MYPY: + class NetworkAreaRegionIpv4NetworkRangeArgsDict(TypedDict): + prefix: pulumi.Input[_builtins.str] + """ + Classless Inter-Domain Routing (CIDR). + """ + network_range_id: NotRequired[pulumi.Input[_builtins.str]] +elif False: + NetworkAreaRegionIpv4NetworkRangeArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkAreaRegionIpv4NetworkRangeArgs: def __init__(__self__, *, prefix: pulumi.Input[_builtins.str], network_range_id: Optional[pulumi.Input[_builtins.str]] = None): @@ -2478,6 +2670,107 @@ def network_range_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "network_range_id", value) +if not MYPY: + class NetworkAreaRouteDestinationArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + """ + value: pulumi.Input[_builtins.str] + """ + An CIDR string. + """ +elif False: + NetworkAreaRouteDestinationArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkAreaRouteDestinationArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + :param pulumi.Input[_builtins.str] value: An CIDR string. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[_builtins.str]: + """ + An CIDR string. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "value", value) + + +if not MYPY: + class NetworkAreaRouteNextHopArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + """ + value: NotRequired[pulumi.Input[_builtins.str]] + """ + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + """ +elif False: + NetworkAreaRouteNextHopArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class NetworkAreaRouteNextHopArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: Optional[pulumi.Input[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + :param pulumi.Input[_builtins.str] value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "value", value) + + if not MYPY: class ObservabilityAlertgroupRuleArgsDict(TypedDict): alert: pulumi.Input[_builtins.str] @@ -5390,6 +5683,136 @@ def size(self, value: Optional[pulumi.Input[_builtins.int]]): pulumi.set(self, "size", value) +if not MYPY: + class SfsExportPolicyRuleArgsDict(TypedDict): + ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + order: pulumi.Input[_builtins.int] + """ + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + """ + description: NotRequired[pulumi.Input[_builtins.str]] + """ + Description of the Rule + """ + read_only: NotRequired[pulumi.Input[_builtins.bool]] + """ + Flag to indicate if client IPs matching this rule can only mount the share in read only mode + """ + set_uuid: NotRequired[pulumi.Input[_builtins.bool]] + """ + Flag to honor set UUID + """ + super_user: NotRequired[pulumi.Input[_builtins.bool]] + """ + Flag to indicate if client IPs matching this rule have root access on the Share + """ +elif False: + SfsExportPolicyRuleArgsDict: TypeAlias = Mapping[str, Any] + +@pulumi.input_type +class SfsExportPolicyRuleArgs: + def __init__(__self__, *, + ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + order: pulumi.Input[_builtins.int], + description: Optional[pulumi.Input[_builtins.str]] = None, + read_only: Optional[pulumi.Input[_builtins.bool]] = None, + set_uuid: Optional[pulumi.Input[_builtins.bool]] = None, + super_user: Optional[pulumi.Input[_builtins.bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.int] order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + :param pulumi.Input[_builtins.str] description: Description of the Rule + :param pulumi.Input[_builtins.bool] read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param pulumi.Input[_builtins.bool] set_uuid: Flag to honor set UUID + :param pulumi.Input[_builtins.bool] super_user: Flag to indicate if client IPs matching this rule have root access on the Share + """ + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "order", order) + if description is not None: + pulumi.set(__self__, "description", description) + if read_only is not None: + pulumi.set(__self__, "read_only", read_only) + if set_uuid is not None: + pulumi.set(__self__, "set_uuid", set_uuid) + if super_user is not None: + pulumi.set(__self__, "super_user", super_user) + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @ip_acls.setter + def ip_acls(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "ip_acls", value) + + @_builtins.property + @pulumi.getter + def order(self) -> pulumi.Input[_builtins.int]: + """ + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + """ + return pulumi.get(self, "order") + + @order.setter + def order(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "order", value) + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Description of the Rule + """ + 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="readOnly") + def read_only(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Flag to indicate if client IPs matching this rule can only mount the share in read only mode + """ + return pulumi.get(self, "read_only") + + @read_only.setter + def read_only(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "read_only", value) + + @_builtins.property + @pulumi.getter(name="setUuid") + def set_uuid(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Flag to honor set UUID + """ + return pulumi.get(self, "set_uuid") + + @set_uuid.setter + def set_uuid(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "set_uuid", value) + + @_builtins.property + @pulumi.getter(name="superUser") + def super_user(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + Flag to indicate if client IPs matching this rule have root access on the Share + """ + return pulumi.get(self, "super_user") + + @super_user.setter + def super_user(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "super_user", value) + + if not MYPY: class SkeClusterExtensionsArgsDict(TypedDict): acl: NotRequired[pulumi.Input['SkeClusterExtensionsAclArgsDict']] @@ -5771,11 +6194,11 @@ class SkeClusterMaintenanceArgsDict(TypedDict): """ enable_kubernetes_version_updates: NotRequired[pulumi.Input[_builtins.bool]] """ - Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ enable_machine_image_version_updates: NotRequired[pulumi.Input[_builtins.bool]] """ - Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ elif False: SkeClusterMaintenanceArgsDict: TypeAlias = Mapping[str, Any] @@ -5790,8 +6213,8 @@ def __init__(__self__, *, """ :param pulumi.Input[_builtins.str] end: Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. :param pulumi.Input[_builtins.str] start: Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. - :param pulumi.Input[_builtins.bool] enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). - :param pulumi.Input[_builtins.bool] enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param pulumi.Input[_builtins.bool] enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param pulumi.Input[_builtins.bool] enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ pulumi.set(__self__, "end", end) pulumi.set(__self__, "start", start) @@ -5828,7 +6251,7 @@ def start(self, value: pulumi.Input[_builtins.str]): @pulumi.getter(name="enableKubernetesVersionUpdates") def enable_kubernetes_version_updates(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "enable_kubernetes_version_updates") @@ -5840,7 +6263,7 @@ def enable_kubernetes_version_updates(self, value: Optional[pulumi.Input[_builti @pulumi.getter(name="enableMachineImageVersionUpdates") def enable_machine_image_version_updates(self) -> Optional[pulumi.Input[_builtins.bool]]: """ - Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "enable_machine_image_version_updates") @@ -5933,11 +6356,11 @@ class SkeClusterNodePoolArgsDict(TypedDict): """ os_version_min: NotRequired[pulumi.Input[_builtins.str]] """ - The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ os_version_used: NotRequired[pulumi.Input[_builtins.str]] """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ taints: NotRequired[pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgsDict']]]] """ @@ -5987,8 +6410,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.int] max_unavailable: Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. :param pulumi.Input[_builtins.str] os_name: The name of the OS image. Defaults to `flatcar`. :param pulumi.Input[_builtins.str] os_version: This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. - :param pulumi.Input[_builtins.str] os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - :param pulumi.Input[_builtins.str] os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param pulumi.Input[_builtins.str] os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + :param pulumi.Input[_builtins.str] os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). :param pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]] taints: Specifies a taint list as defined below. :param pulumi.Input[_builtins.int] volume_size: The volume size in GB. Defaults to `20` :param pulumi.Input[_builtins.str] volume_type: Specifies the volume type. Defaults to `storage_premium_perf1`. @@ -6175,7 +6598,7 @@ def os_version(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="osVersionMin") def os_version_min(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ return pulumi.get(self, "os_version_min") @@ -6187,7 +6610,7 @@ def os_version_min(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="osVersionUsed") def os_version_used(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "os_version_used") diff --git a/sdk/python/pulumi_stackit/affinity_group.py b/sdk/python/pulumi_stackit/affinity_group.py index 46a8d49..7a5ff29 100644 --- a/sdk/python/pulumi_stackit/affinity_group.py +++ b/sdk/python/pulumi_stackit/affinity_group.py @@ -21,17 +21,21 @@ class AffinityGroupArgs: def __init__(__self__, *, policy: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], - name: Optional[pulumi.Input[_builtins.str]] = None): + name: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a AffinityGroup resource. :param pulumi.Input[_builtins.str] policy: The policy of the affinity group. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the affinity group is associated. :param pulumi.Input[_builtins.str] name: The name of the affinity group. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "policy", policy) pulumi.set(__self__, "project_id", project_id) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter @@ -69,6 +73,18 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", 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 _AffinityGroupState: @@ -77,7 +93,8 @@ def __init__(__self__, *, members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, policy: Optional[pulumi.Input[_builtins.str]] = None, - project_id: Optional[pulumi.Input[_builtins.str]] = None): + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering AffinityGroup resources. :param pulumi.Input[_builtins.str] affinity_group_id: The affinity group ID. @@ -85,6 +102,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] name: The name of the affinity group. :param pulumi.Input[_builtins.str] policy: The policy of the affinity group. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the affinity group is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ if affinity_group_id is not None: pulumi.set(__self__, "affinity_group_id", affinity_group_id) @@ -96,6 +114,8 @@ def __init__(__self__, *, pulumi.set(__self__, "policy", policy) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="affinityGroupId") @@ -157,6 +177,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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/affinityGroup:AffinityGroup") class AffinityGroup(pulumi.CustomResource): @@ -167,9 +199,10 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, policy: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Affinity Group schema. Must have a `region` specified in the provider configuration. + Affinity Group schema. ## Example Usage @@ -178,6 +211,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] name: The name of the affinity group. :param pulumi.Input[_builtins.str] policy: The policy of the affinity group. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the affinity group is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -186,7 +220,7 @@ def __init__(__self__, args: AffinityGroupArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Affinity Group schema. Must have a `region` specified in the provider configuration. + Affinity Group schema. ## Example Usage @@ -208,6 +242,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, policy: 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): @@ -224,6 +259,7 @@ def _internal_init(__self__, 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__["affinity_group_id"] = None __props__.__dict__["members"] = None super(AffinityGroup, __self__).__init__( @@ -240,7 +276,8 @@ def get(resource_name: str, members: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, policy: Optional[pulumi.Input[_builtins.str]] = None, - project_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'AffinityGroup': + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'AffinityGroup': """ Get an existing AffinityGroup resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -253,6 +290,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] name: The name of the affinity group. :param pulumi.Input[_builtins.str] policy: The policy of the affinity group. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the affinity group is associated. + :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)) @@ -263,6 +301,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["policy"] = policy __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region return AffinityGroup(resource_name, opts=opts, __props__=__props__) @_builtins.property @@ -305,3 +344,11 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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/config/__init__.pyi b/sdk/python/pulumi_stackit/config/__init__.pyi index a46108a..9971d11 100644 --- a/sdk/python/pulumi_stackit/config/__init__.pyi +++ b/sdk/python/pulumi_stackit/config/__init__.pyi @@ -189,6 +189,11 @@ serviceEnablementCustomEndpoint: Optional[str] Custom endpoint for the Service Enablement API """ +sfsCustomEndpoint: Optional[str] +""" +Custom endpoint for the Stackit Filestorage API +""" + skeCustomEndpoint: Optional[str] """ Custom endpoint for the Kubernetes Engine (SKE) service diff --git a/sdk/python/pulumi_stackit/config/vars.py b/sdk/python/pulumi_stackit/config/vars.py index e77050a..d1035e4 100644 --- a/sdk/python/pulumi_stackit/config/vars.py +++ b/sdk/python/pulumi_stackit/config/vars.py @@ -265,6 +265,13 @@ def service_enablement_custom_endpoint(self) -> Optional[str]: """ return __config__.get('serviceEnablementCustomEndpoint') + @_builtins.property + def sfs_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Stackit Filestorage API + """ + return __config__.get('sfsCustomEndpoint') + @_builtins.property def ske_custom_endpoint(self) -> Optional[str]: """ diff --git a/sdk/python/pulumi_stackit/get_affinity_group.py b/sdk/python/pulumi_stackit/get_affinity_group.py index d20064b..0f1809a 100644 --- a/sdk/python/pulumi_stackit/get_affinity_group.py +++ b/sdk/python/pulumi_stackit/get_affinity_group.py @@ -26,7 +26,7 @@ class GetAffinityGroupResult: """ A collection of values returned by getAffinityGroup. """ - def __init__(__self__, affinity_group_id=None, id=None, members=None, name=None, policy=None, project_id=None): + def __init__(__self__, affinity_group_id=None, id=None, members=None, name=None, policy=None, project_id=None, region=None): if affinity_group_id and not isinstance(affinity_group_id, str): raise TypeError("Expected argument 'affinity_group_id' to be a str") pulumi.set(__self__, "affinity_group_id", affinity_group_id) @@ -45,6 +45,9 @@ def __init__(__self__, affinity_group_id=None, id=None, members=None, name=None, 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(name="affinityGroupId") @@ -91,6 +94,14 @@ def project_id(self) -> _builtins.str: """ 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 AwaitableGetAffinityGroupResult(GetAffinityGroupResult): # pylint: disable=using-constant-test @@ -103,11 +114,13 @@ def __await__(self): members=self.members, name=self.name, policy=self.policy, - project_id=self.project_id) + project_id=self.project_id, + region=self.region) def get_affinity_group(affinity_group_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetAffinityGroupResult: """ Affinity Group schema. Must have a `region` specified in the provider configuration. @@ -117,10 +130,12 @@ def get_affinity_group(affinity_group_id: Optional[_builtins.str] = None, :param _builtins.str affinity_group_id: The affinity group ID. :param _builtins.str project_id: STACKIT Project ID to which the affinity group is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['affinityGroupId'] = affinity_group_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getAffinityGroup:getAffinityGroup', __args__, opts=opts, typ=GetAffinityGroupResult).value @@ -130,9 +145,11 @@ def get_affinity_group(affinity_group_id: Optional[_builtins.str] = None, members=pulumi.get(__ret__, 'members'), name=pulumi.get(__ret__, 'name'), policy=pulumi.get(__ret__, 'policy'), - project_id=pulumi.get(__ret__, 'project_id')) + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region')) def get_affinity_group_output(affinity_group_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[GetAffinityGroupResult]: """ Affinity Group schema. Must have a `region` specified in the provider configuration. @@ -142,10 +159,12 @@ def get_affinity_group_output(affinity_group_id: Optional[pulumi.Input[_builtins :param _builtins.str affinity_group_id: The affinity group ID. :param _builtins.str project_id: STACKIT Project ID to which the affinity group is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['affinityGroupId'] = affinity_group_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/getAffinityGroup:getAffinityGroup', __args__, opts=opts, typ=GetAffinityGroupResult) return __ret__.apply(lambda __response__: GetAffinityGroupResult( @@ -154,4 +173,5 @@ def get_affinity_group_output(affinity_group_id: Optional[pulumi.Input[_builtins members=pulumi.get(__response__, 'members'), name=pulumi.get(__response__, 'name'), policy=pulumi.get(__response__, 'policy'), - project_id=pulumi.get(__response__, 'project_id'))) + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_iaas_project.py b/sdk/python/pulumi_stackit/get_iaas_project.py index 2e74e1d..4d0c15e 100644 --- a/sdk/python/pulumi_stackit/get_iaas_project.py +++ b/sdk/python/pulumi_stackit/get_iaas_project.py @@ -26,7 +26,7 @@ class GetIaasProjectResult: """ A collection of values returned by getIaasProject. """ - def __init__(__self__, area_id=None, created_at=None, id=None, internet_access=None, project_id=None, state=None, updated_at=None): + def __init__(__self__, area_id=None, created_at=None, id=None, internet_access=None, project_id=None, state=None, status=None, updated_at=None): if area_id and not isinstance(area_id, str): raise TypeError("Expected argument 'area_id' to be a str") pulumi.set(__self__, "area_id", area_id) @@ -45,6 +45,9 @@ def __init__(__self__, area_id=None, created_at=None, id=None, internet_access=N if state and not isinstance(state, str): raise TypeError("Expected argument 'state' to be a str") pulumi.set(__self__, "state", state) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) if updated_at and not isinstance(updated_at, str): raise TypeError("Expected argument 'updated_at' to be a str") pulumi.set(__self__, "updated_at", updated_at) @@ -88,12 +91,21 @@ def project_id(self) -> _builtins.str: @_builtins.property @pulumi.getter + @_utilities.deprecated("""Deprecated: Will be removed in May 2026. Use the `status` field instead.""") def state(self) -> _builtins.str: """ - Specifies the state of the project. + Specifies the status of the project. """ return pulumi.get(self, "state") + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + Specifies the status of the project. + """ + return pulumi.get(self, "status") + @_builtins.property @pulumi.getter(name="updatedAt") def updated_at(self) -> _builtins.str: @@ -115,6 +127,7 @@ def __await__(self): internet_access=self.internet_access, project_id=self.project_id, state=self.state, + status=self.status, updated_at=self.updated_at) @@ -140,6 +153,7 @@ def get_iaas_project(project_id: Optional[_builtins.str] = None, internet_access=pulumi.get(__ret__, 'internet_access'), project_id=pulumi.get(__ret__, 'project_id'), state=pulumi.get(__ret__, 'state'), + status=pulumi.get(__ret__, 'status'), updated_at=pulumi.get(__ret__, 'updated_at')) def get_iaas_project_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIaasProjectResult]: @@ -162,4 +176,5 @@ def get_iaas_project_output(project_id: Optional[pulumi.Input[_builtins.str]] = internet_access=pulumi.get(__response__, 'internet_access'), project_id=pulumi.get(__response__, 'project_id'), state=pulumi.get(__response__, 'state'), + status=pulumi.get(__response__, 'status'), updated_at=pulumi.get(__response__, 'updated_at'))) diff --git a/sdk/python/pulumi_stackit/get_image.py b/sdk/python/pulumi_stackit/get_image.py index ace1c31..c83ee27 100644 --- a/sdk/python/pulumi_stackit/get_image.py +++ b/sdk/python/pulumi_stackit/get_image.py @@ -27,7 +27,7 @@ class GetImageResult: """ A collection of values returned by getImage. """ - def __init__(__self__, checksum=None, config=None, disk_format=None, id=None, image_id=None, labels=None, min_disk_size=None, min_ram=None, name=None, project_id=None, protected=None, scope=None): + def __init__(__self__, checksum=None, config=None, disk_format=None, id=None, image_id=None, labels=None, min_disk_size=None, min_ram=None, name=None, project_id=None, protected=None, region=None, scope=None): if checksum and not isinstance(checksum, dict): raise TypeError("Expected argument 'checksum' to be a dict") pulumi.set(__self__, "checksum", checksum) @@ -61,6 +61,9 @@ def __init__(__self__, checksum=None, config=None, disk_format=None, id=None, im if protected and not isinstance(protected, bool): raise TypeError("Expected argument 'protected' to be a bool") pulumi.set(__self__, "protected", protected) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if scope and not isinstance(scope, str): raise TypeError("Expected argument 'scope' to be a str") pulumi.set(__self__, "scope", scope) @@ -150,6 +153,14 @@ def protected(self) -> _builtins.bool: """ return pulumi.get(self, "protected") + @_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") + @_builtins.property @pulumi.getter def scope(self) -> _builtins.str: @@ -176,11 +187,13 @@ def __await__(self): name=self.name, project_id=self.project_id, protected=self.protected, + region=self.region, scope=self.scope) def get_image(image_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetImageResult: """ Image datasource schema. Must have a `region` specified in the provider configuration. @@ -190,10 +203,12 @@ def get_image(image_id: Optional[_builtins.str] = None, :param _builtins.str image_id: The image ID. :param _builtins.str project_id: STACKIT project ID to which the image is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['imageId'] = image_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getImage:getImage', __args__, opts=opts, typ=GetImageResult).value @@ -209,9 +224,11 @@ def get_image(image_id: Optional[_builtins.str] = None, name=pulumi.get(__ret__, 'name'), project_id=pulumi.get(__ret__, 'project_id'), protected=pulumi.get(__ret__, 'protected'), + region=pulumi.get(__ret__, 'region'), scope=pulumi.get(__ret__, 'scope')) def get_image_output(image_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[GetImageResult]: """ Image datasource schema. Must have a `region` specified in the provider configuration. @@ -221,10 +238,12 @@ def get_image_output(image_id: Optional[pulumi.Input[_builtins.str]] = None, :param _builtins.str image_id: The image ID. :param _builtins.str project_id: STACKIT project ID to which the image is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['imageId'] = image_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/getImage:getImage', __args__, opts=opts, typ=GetImageResult) return __ret__.apply(lambda __response__: GetImageResult( @@ -239,4 +258,5 @@ def get_image_output(image_id: Optional[pulumi.Input[_builtins.str]] = None, name=pulumi.get(__response__, 'name'), project_id=pulumi.get(__response__, 'project_id'), protected=pulumi.get(__response__, 'protected'), + region=pulumi.get(__response__, 'region'), scope=pulumi.get(__response__, 'scope'))) diff --git a/sdk/python/pulumi_stackit/get_image_v2.py b/sdk/python/pulumi_stackit/get_image_v2.py index 6333fa8..c24c8c3 100644 --- a/sdk/python/pulumi_stackit/get_image_v2.py +++ b/sdk/python/pulumi_stackit/get_image_v2.py @@ -28,7 +28,7 @@ class GetImageV2Result: """ A collection of values returned by getImageV2. """ - def __init__(__self__, checksum=None, config=None, disk_format=None, filter=None, id=None, image_id=None, labels=None, min_disk_size=None, min_ram=None, name=None, name_regex=None, project_id=None, protected=None, scope=None, sort_ascending=None): + def __init__(__self__, checksum=None, config=None, disk_format=None, filter=None, id=None, image_id=None, labels=None, min_disk_size=None, min_ram=None, name=None, name_regex=None, project_id=None, protected=None, region=None, scope=None, sort_ascending=None): if checksum and not isinstance(checksum, dict): raise TypeError("Expected argument 'checksum' to be a dict") pulumi.set(__self__, "checksum", checksum) @@ -68,6 +68,9 @@ def __init__(__self__, checksum=None, config=None, disk_format=None, filter=None if protected and not isinstance(protected, bool): raise TypeError("Expected argument 'protected' to be a bool") pulumi.set(__self__, "protected", protected) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if scope and not isinstance(scope, str): raise TypeError("Expected argument 'scope' to be a str") pulumi.set(__self__, "scope", scope) @@ -176,6 +179,14 @@ def protected(self) -> _builtins.bool: """ return pulumi.get(self, "protected") + @_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") + @_builtins.property @pulumi.getter def scope(self) -> _builtins.str: @@ -212,6 +223,7 @@ def __await__(self): name_regex=self.name_regex, project_id=self.project_id, protected=self.protected, + region=self.region, scope=self.scope, sort_ascending=self.sort_ascending) @@ -221,6 +233,7 @@ def get_image_v2(filter: Optional[Union['GetImageV2FilterArgs', 'GetImageV2Filte name: Optional[_builtins.str] = None, name_regex: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, sort_ascending: Optional[_builtins.bool] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetImageV2Result: """ @@ -232,6 +245,7 @@ def get_image_v2(filter: Optional[Union['GetImageV2FilterArgs', 'GetImageV2Filte :param _builtins.str name: Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`. :param _builtins.str name_regex: Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`. :param _builtins.str project_id: STACKIT project ID to which the image is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.bool sort_ascending: If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). """ __args__ = dict() @@ -240,6 +254,7 @@ def get_image_v2(filter: Optional[Union['GetImageV2FilterArgs', 'GetImageV2Filte __args__['name'] = name __args__['nameRegex'] = name_regex __args__['projectId'] = project_id + __args__['region'] = region __args__['sortAscending'] = sort_ascending opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getImageV2:getImageV2', __args__, opts=opts, typ=GetImageV2Result).value @@ -258,6 +273,7 @@ def get_image_v2(filter: Optional[Union['GetImageV2FilterArgs', 'GetImageV2Filte name_regex=pulumi.get(__ret__, 'name_regex'), project_id=pulumi.get(__ret__, 'project_id'), protected=pulumi.get(__ret__, 'protected'), + region=pulumi.get(__ret__, 'region'), scope=pulumi.get(__ret__, 'scope'), sort_ascending=pulumi.get(__ret__, 'sort_ascending')) def get_image_v2_output(filter: Optional[pulumi.Input[Optional[Union['GetImageV2FilterArgs', 'GetImageV2FilterArgsDict']]]] = None, @@ -265,6 +281,7 @@ def get_image_v2_output(filter: Optional[pulumi.Input[Optional[Union['GetImageV2 name: Optional[pulumi.Input[Optional[_builtins.str]]] = None, name_regex: Optional[pulumi.Input[Optional[_builtins.str]]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, sort_ascending: Optional[pulumi.Input[Optional[_builtins.bool]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetImageV2Result]: """ @@ -276,6 +293,7 @@ def get_image_v2_output(filter: Optional[pulumi.Input[Optional[Union['GetImageV2 :param _builtins.str name: Exact image name to match. Optionally applies a `filter` block to further refine results in case multiple images share the same name. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name_regex`. :param _builtins.str name_regex: Regular expression to match against image names. Optionally applies a `filter` block to narrow down results when multiple image names match the regex. The first match is returned, optionally sorted by name in ascending order. Cannot be used together with `name`. :param _builtins.str project_id: STACKIT project ID to which the image is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.bool sort_ascending: If set to `true`, images are sorted in ascending lexicographical order by image name (such as `Ubuntu 18.04`, `Ubuntu 20.04`, `Ubuntu 22.04`) before selecting the first match. Defaults to `false` (descending such as `Ubuntu 22.04`, `Ubuntu 20.04`, `Ubuntu 18.04`). """ __args__ = dict() @@ -284,6 +302,7 @@ def get_image_v2_output(filter: Optional[pulumi.Input[Optional[Union['GetImageV2 __args__['name'] = name __args__['nameRegex'] = name_regex __args__['projectId'] = project_id + __args__['region'] = region __args__['sortAscending'] = sort_ascending opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getImageV2:getImageV2', __args__, opts=opts, typ=GetImageV2Result) @@ -301,5 +320,6 @@ def get_image_v2_output(filter: Optional[pulumi.Input[Optional[Union['GetImageV2 name_regex=pulumi.get(__response__, 'name_regex'), project_id=pulumi.get(__response__, 'project_id'), protected=pulumi.get(__response__, 'protected'), + region=pulumi.get(__response__, 'region'), scope=pulumi.get(__response__, 'scope'), sort_ascending=pulumi.get(__response__, 'sort_ascending'))) diff --git a/sdk/python/pulumi_stackit/get_machine_type.py b/sdk/python/pulumi_stackit/get_machine_type.py index ca3a2af..489a02d 100644 --- a/sdk/python/pulumi_stackit/get_machine_type.py +++ b/sdk/python/pulumi_stackit/get_machine_type.py @@ -26,7 +26,7 @@ class GetMachineTypeResult: """ A collection of values returned by getMachineType. """ - def __init__(__self__, description=None, disk=None, extra_specs=None, filter=None, id=None, name=None, project_id=None, ram=None, sort_ascending=None, vcpus=None): + def __init__(__self__, description=None, disk=None, extra_specs=None, filter=None, id=None, name=None, project_id=None, ram=None, region=None, sort_ascending=None, vcpus=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) @@ -51,6 +51,9 @@ def __init__(__self__, description=None, disk=None, extra_specs=None, filter=Non if ram and not isinstance(ram, int): raise TypeError("Expected argument 'ram' to be a int") pulumi.set(__self__, "ram", ram) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if sort_ascending and not isinstance(sort_ascending, bool): raise TypeError("Expected argument 'sort_ascending' to be a bool") pulumi.set(__self__, "sort_ascending", sort_ascending) @@ -101,6 +104,11 @@ def project_id(self) -> _builtins.str: def ram(self) -> _builtins.int: return pulumi.get(self, "ram") + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + return pulumi.get(self, "region") + @_builtins.property @pulumi.getter(name="sortAscending") def sort_ascending(self) -> Optional[_builtins.bool]: @@ -126,12 +134,14 @@ def __await__(self): name=self.name, project_id=self.project_id, ram=self.ram, + region=self.region, sort_ascending=self.sort_ascending, vcpus=self.vcpus) def get_machine_type(filter: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, sort_ascending: Optional[_builtins.bool] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetMachineTypeResult: """ @@ -147,6 +157,7 @@ def get_machine_type(filter: Optional[_builtins.str] = None, __args__ = dict() __args__['filter'] = filter __args__['projectId'] = project_id + __args__['region'] = region __args__['sortAscending'] = sort_ascending opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getMachineType:getMachineType', __args__, opts=opts, typ=GetMachineTypeResult).value @@ -160,10 +171,12 @@ def get_machine_type(filter: Optional[_builtins.str] = None, name=pulumi.get(__ret__, 'name'), project_id=pulumi.get(__ret__, 'project_id'), ram=pulumi.get(__ret__, 'ram'), + region=pulumi.get(__ret__, 'region'), sort_ascending=pulumi.get(__ret__, 'sort_ascending'), vcpus=pulumi.get(__ret__, 'vcpus')) def get_machine_type_output(filter: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, sort_ascending: Optional[pulumi.Input[Optional[_builtins.bool]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetMachineTypeResult]: """ @@ -179,6 +192,7 @@ def get_machine_type_output(filter: Optional[pulumi.Input[_builtins.str]] = None __args__ = dict() __args__['filter'] = filter __args__['projectId'] = project_id + __args__['region'] = region __args__['sortAscending'] = sort_ascending opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getMachineType:getMachineType', __args__, opts=opts, typ=GetMachineTypeResult) @@ -191,5 +205,6 @@ def get_machine_type_output(filter: Optional[pulumi.Input[_builtins.str]] = None name=pulumi.get(__response__, 'name'), project_id=pulumi.get(__response__, 'project_id'), ram=pulumi.get(__response__, 'ram'), + region=pulumi.get(__response__, 'region'), sort_ascending=pulumi.get(__response__, 'sort_ascending'), vcpus=pulumi.get(__response__, 'vcpus'))) diff --git a/sdk/python/pulumi_stackit/get_network_area.py b/sdk/python/pulumi_stackit/get_network_area.py index 7c8e94a..a44d2fa 100644 --- a/sdk/python/pulumi_stackit/get_network_area.py +++ b/sdk/python/pulumi_stackit/get_network_area.py @@ -67,6 +67,7 @@ def __init__(__self__, default_nameservers=None, default_prefix_length=None, id= @_builtins.property @pulumi.getter(name="defaultNameservers") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def default_nameservers(self) -> Sequence[_builtins.str]: """ List of DNS Servers/Nameservers. @@ -75,6 +76,7 @@ def default_nameservers(self) -> Sequence[_builtins.str]: @_builtins.property @pulumi.getter(name="defaultPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def default_prefix_length(self) -> _builtins.int: """ The default prefix length for networks in the network area. @@ -96,6 +98,7 @@ def labels(self) -> Mapping[str, _builtins.str]: @_builtins.property @pulumi.getter(name="maxPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def max_prefix_length(self) -> _builtins.int: """ The maximal prefix length for networks in the network area. @@ -104,6 +107,7 @@ def max_prefix_length(self) -> _builtins.int: @_builtins.property @pulumi.getter(name="minPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def min_prefix_length(self) -> _builtins.int: """ The minimal prefix length for networks in the network area. @@ -128,6 +132,7 @@ def network_area_id(self) -> _builtins.str: @_builtins.property @pulumi.getter(name="networkRanges") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def network_ranges(self) -> Sequence['outputs.GetNetworkAreaNetworkRangeResult']: """ List of Network ranges. @@ -152,6 +157,7 @@ def project_count(self) -> _builtins.int: @_builtins.property @pulumi.getter(name="transferNetwork") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026.""") def transfer_network(self) -> _builtins.str: """ Classless Inter-Domain Routing (CIDR). diff --git a/sdk/python/pulumi_stackit/get_network_area_region.py b/sdk/python/pulumi_stackit/get_network_area_region.py new file mode 100644 index 0000000..ed92e2a --- /dev/null +++ b/sdk/python/pulumi_stackit/get_network_area_region.py @@ -0,0 +1,150 @@ +# 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__ = [ + 'GetNetworkAreaRegionResult', + 'AwaitableGetNetworkAreaRegionResult', + 'get_network_area_region', + 'get_network_area_region_output', +] + +@pulumi.output_type +class GetNetworkAreaRegionResult: + """ + A collection of values returned by getNetworkAreaRegion. + """ + def __init__(__self__, id=None, ipv4=None, network_area_id=None, organization_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 ipv4 and not isinstance(ipv4, dict): + raise TypeError("Expected argument 'ipv4' to be a dict") + pulumi.set(__self__, "ipv4", ipv4) + if network_area_id and not isinstance(network_area_id, str): + raise TypeError("Expected argument 'network_area_id' to be a str") + pulumi.set(__self__, "network_area_id", network_area_id) + if organization_id and not isinstance(organization_id, str): + raise TypeError("Expected argument 'organization_id' to be a str") + pulumi.set(__self__, "organization_id", organization_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 ipv4(self) -> 'outputs.GetNetworkAreaRegionIpv4Result': + """ + The regional IPv4 config of a network area. + """ + return pulumi.get(self, "ipv4") + + @_builtins.property + @pulumi.getter(name="networkAreaId") + def network_area_id(self) -> _builtins.str: + """ + The network area ID. + """ + return pulumi.get(self, "network_area_id") + + @_builtins.property + @pulumi.getter(name="organizationId") + def organization_id(self) -> _builtins.str: + """ + STACKIT organization ID to which the network area is associated. + """ + return pulumi.get(self, "organization_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 AwaitableGetNetworkAreaRegionResult(GetNetworkAreaRegionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetNetworkAreaRegionResult( + id=self.id, + ipv4=self.ipv4, + network_area_id=self.network_area_id, + organization_id=self.organization_id, + region=self.region) + + +def get_network_area_region(network_area_id: Optional[_builtins.str] = None, + organization_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkAreaRegionResult: + """ + Network area region data source schema. + + ## Example Usage + + + :param _builtins.str network_area_id: The network area ID. + :param _builtins.str organization_id: STACKIT organization ID to which the network area is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['networkAreaId'] = network_area_id + __args__['organizationId'] = organization_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getNetworkAreaRegion:getNetworkAreaRegion', __args__, opts=opts, typ=GetNetworkAreaRegionResult).value + + return AwaitableGetNetworkAreaRegionResult( + id=pulumi.get(__ret__, 'id'), + ipv4=pulumi.get(__ret__, 'ipv4'), + network_area_id=pulumi.get(__ret__, 'network_area_id'), + organization_id=pulumi.get(__ret__, 'organization_id'), + region=pulumi.get(__ret__, 'region')) +def get_network_area_region_output(network_area_id: Optional[pulumi.Input[_builtins.str]] = None, + organization_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[GetNetworkAreaRegionResult]: + """ + Network area region data source schema. + + ## Example Usage + + + :param _builtins.str network_area_id: The network area ID. + :param _builtins.str organization_id: STACKIT organization ID to which the network area is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['networkAreaId'] = network_area_id + __args__['organizationId'] = organization_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getNetworkAreaRegion:getNetworkAreaRegion', __args__, opts=opts, typ=GetNetworkAreaRegionResult) + return __ret__.apply(lambda __response__: GetNetworkAreaRegionResult( + id=pulumi.get(__response__, 'id'), + ipv4=pulumi.get(__response__, 'ipv4'), + network_area_id=pulumi.get(__response__, 'network_area_id'), + organization_id=pulumi.get(__response__, 'organization_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_network_area_route.py b/sdk/python/pulumi_stackit/get_network_area_route.py index 1cb7fae..2d03a95 100644 --- a/sdk/python/pulumi_stackit/get_network_area_route.py +++ b/sdk/python/pulumi_stackit/get_network_area_route.py @@ -13,6 +13,7 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities +from . import outputs __all__ = [ 'GetNetworkAreaRouteResult', @@ -26,7 +27,10 @@ class GetNetworkAreaRouteResult: """ A collection of values returned by getNetworkAreaRoute. """ - def __init__(__self__, id=None, labels=None, network_area_id=None, network_area_route_id=None, next_hop=None, organization_id=None, prefix=None): + def __init__(__self__, destination=None, id=None, labels=None, network_area_id=None, network_area_route_id=None, next_hop=None, organization_id=None, region=None): + if destination and not isinstance(destination, dict): + raise TypeError("Expected argument 'destination' to be a dict") + pulumi.set(__self__, "destination", destination) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) @@ -39,15 +43,23 @@ def __init__(__self__, id=None, labels=None, network_area_id=None, network_area_ if network_area_route_id and not isinstance(network_area_route_id, str): raise TypeError("Expected argument 'network_area_route_id' to be a str") pulumi.set(__self__, "network_area_route_id", network_area_route_id) - if next_hop and not isinstance(next_hop, str): - raise TypeError("Expected argument 'next_hop' to be a str") + if next_hop and not isinstance(next_hop, dict): + raise TypeError("Expected argument 'next_hop' to be a dict") pulumi.set(__self__, "next_hop", next_hop) if organization_id and not isinstance(organization_id, str): raise TypeError("Expected argument 'organization_id' to be a str") pulumi.set(__self__, "organization_id", organization_id) - if prefix and not isinstance(prefix, str): - raise TypeError("Expected argument 'prefix' to be a str") - pulumi.set(__self__, "prefix", prefix) + 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 destination(self) -> 'outputs.GetNetworkAreaRouteDestinationResult': + """ + Destination of the route. + """ + return pulumi.get(self, "destination") @_builtins.property @pulumi.getter @@ -80,9 +92,9 @@ def network_area_route_id(self) -> _builtins.str: @_builtins.property @pulumi.getter(name="nextHop") - def next_hop(self) -> _builtins.str: + def next_hop(self) -> 'outputs.GetNetworkAreaRouteNextHopResult': """ - The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + Next hop destination. """ return pulumi.get(self, "next_hop") @@ -96,11 +108,11 @@ def organization_id(self) -> _builtins.str: @_builtins.property @pulumi.getter - def prefix(self) -> _builtins.str: + def region(self) -> Optional[_builtins.str]: """ - The network, that is reachable though the Next Hop. Should use CIDR notation. + The resource region. If not defined, the provider region is used. """ - return pulumi.get(self, "prefix") + return pulumi.get(self, "region") class AwaitableGetNetworkAreaRouteResult(GetNetworkAreaRouteResult): @@ -109,18 +121,20 @@ def __await__(self): if False: yield self return GetNetworkAreaRouteResult( + destination=self.destination, id=self.id, labels=self.labels, network_area_id=self.network_area_id, network_area_route_id=self.network_area_route_id, next_hop=self.next_hop, organization_id=self.organization_id, - prefix=self.prefix) + region=self.region) def get_network_area_route(network_area_id: Optional[_builtins.str] = None, network_area_route_id: Optional[_builtins.str] = None, organization_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkAreaRouteResult: """ Network area route data resource schema. Must have a `region` specified in the provider configuration. @@ -131,25 +145,29 @@ def get_network_area_route(network_area_id: Optional[_builtins.str] = None, :param _builtins.str network_area_id: The network area ID to which the network area route is associated. :param _builtins.str network_area_route_id: The network area route ID. :param _builtins.str organization_id: STACKIT organization ID to which the network area is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['networkAreaId'] = network_area_id __args__['networkAreaRouteId'] = network_area_route_id __args__['organizationId'] = organization_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getNetworkAreaRoute:getNetworkAreaRoute', __args__, opts=opts, typ=GetNetworkAreaRouteResult).value return AwaitableGetNetworkAreaRouteResult( + destination=pulumi.get(__ret__, 'destination'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), network_area_id=pulumi.get(__ret__, 'network_area_id'), network_area_route_id=pulumi.get(__ret__, 'network_area_route_id'), next_hop=pulumi.get(__ret__, 'next_hop'), organization_id=pulumi.get(__ret__, 'organization_id'), - prefix=pulumi.get(__ret__, 'prefix')) + region=pulumi.get(__ret__, 'region')) def get_network_area_route_output(network_area_id: Optional[pulumi.Input[_builtins.str]] = None, network_area_route_id: Optional[pulumi.Input[_builtins.str]] = None, organization_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[GetNetworkAreaRouteResult]: """ Network area route data resource schema. Must have a `region` specified in the provider configuration. @@ -160,18 +178,21 @@ def get_network_area_route_output(network_area_id: Optional[pulumi.Input[_builti :param _builtins.str network_area_id: The network area ID to which the network area route is associated. :param _builtins.str network_area_route_id: The network area route ID. :param _builtins.str organization_id: STACKIT organization ID to which the network area is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['networkAreaId'] = network_area_id __args__['networkAreaRouteId'] = network_area_route_id __args__['organizationId'] = organization_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getNetworkAreaRoute:getNetworkAreaRoute', __args__, opts=opts, typ=GetNetworkAreaRouteResult) return __ret__.apply(lambda __response__: GetNetworkAreaRouteResult( + destination=pulumi.get(__response__, 'destination'), id=pulumi.get(__response__, 'id'), labels=pulumi.get(__response__, 'labels'), network_area_id=pulumi.get(__response__, 'network_area_id'), network_area_route_id=pulumi.get(__response__, 'network_area_route_id'), next_hop=pulumi.get(__response__, 'next_hop'), organization_id=pulumi.get(__response__, 'organization_id'), - prefix=pulumi.get(__response__, 'prefix'))) + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_network_interface.py b/sdk/python/pulumi_stackit/get_network_interface.py index e0ce2d7..20ebdbe 100644 --- a/sdk/python/pulumi_stackit/get_network_interface.py +++ b/sdk/python/pulumi_stackit/get_network_interface.py @@ -26,7 +26,7 @@ class GetNetworkInterfaceResult: """ A collection of values returned by getNetworkInterface. """ - def __init__(__self__, allowed_addresses=None, device=None, id=None, ipv4=None, labels=None, mac=None, name=None, network_id=None, network_interface_id=None, project_id=None, security=None, security_group_ids=None, type=None): + def __init__(__self__, allowed_addresses=None, device=None, id=None, ipv4=None, labels=None, mac=None, name=None, network_id=None, network_interface_id=None, project_id=None, region=None, security=None, security_group_ids=None, type=None): if allowed_addresses and not isinstance(allowed_addresses, list): raise TypeError("Expected argument 'allowed_addresses' to be a list") pulumi.set(__self__, "allowed_addresses", allowed_addresses) @@ -57,6 +57,9 @@ def __init__(__self__, allowed_addresses=None, device=None, id=None, ipv4=None, 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) if security and not isinstance(security, bool): raise TypeError("Expected argument 'security' to be a bool") pulumi.set(__self__, "security", security) @@ -144,6 +147,14 @@ def project_id(self) -> _builtins.str: """ 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") + @_builtins.property @pulumi.getter def security(self) -> _builtins.bool: @@ -185,6 +196,7 @@ def __await__(self): network_id=self.network_id, network_interface_id=self.network_interface_id, project_id=self.project_id, + region=self.region, security=self.security, security_group_ids=self.security_group_ids, type=self.type) @@ -193,6 +205,7 @@ def __await__(self): def get_network_interface(network_id: Optional[_builtins.str] = None, network_interface_id: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetNetworkInterfaceResult: """ Network interface datasource schema. Must have a `region` specified in the provider configuration. @@ -203,11 +216,13 @@ def get_network_interface(network_id: Optional[_builtins.str] = None, :param _builtins.str network_id: The network ID to which the network interface is associated. :param _builtins.str network_interface_id: The network interface ID. :param _builtins.str project_id: STACKIT project ID to which the network interface is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['networkId'] = network_id __args__['networkInterfaceId'] = network_interface_id __args__['projectId'] = project_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getNetworkInterface:getNetworkInterface', __args__, opts=opts, typ=GetNetworkInterfaceResult).value @@ -222,12 +237,14 @@ def get_network_interface(network_id: Optional[_builtins.str] = None, network_id=pulumi.get(__ret__, 'network_id'), network_interface_id=pulumi.get(__ret__, 'network_interface_id'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), security=pulumi.get(__ret__, 'security'), security_group_ids=pulumi.get(__ret__, 'security_group_ids'), type=pulumi.get(__ret__, 'type')) def get_network_interface_output(network_id: Optional[pulumi.Input[_builtins.str]] = None, network_interface_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[GetNetworkInterfaceResult]: """ Network interface datasource schema. Must have a `region` specified in the provider configuration. @@ -238,11 +255,13 @@ def get_network_interface_output(network_id: Optional[pulumi.Input[_builtins.str :param _builtins.str network_id: The network ID to which the network interface is associated. :param _builtins.str network_interface_id: The network interface ID. :param _builtins.str project_id: STACKIT project ID to which the network interface is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['networkId'] = network_id __args__['networkInterfaceId'] = network_interface_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/getNetworkInterface:getNetworkInterface', __args__, opts=opts, typ=GetNetworkInterfaceResult) return __ret__.apply(lambda __response__: GetNetworkInterfaceResult( @@ -256,6 +275,7 @@ def get_network_interface_output(network_id: Optional[pulumi.Input[_builtins.str network_id=pulumi.get(__response__, 'network_id'), network_interface_id=pulumi.get(__response__, 'network_interface_id'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), security=pulumi.get(__response__, 'security'), security_group_ids=pulumi.get(__response__, 'security_group_ids'), type=pulumi.get(__response__, 'type'))) diff --git a/sdk/python/pulumi_stackit/get_public_ip.py b/sdk/python/pulumi_stackit/get_public_ip.py index 54eb98e..354d9a6 100644 --- a/sdk/python/pulumi_stackit/get_public_ip.py +++ b/sdk/python/pulumi_stackit/get_public_ip.py @@ -26,7 +26,7 @@ class GetPublicIpResult: """ A collection of values returned by getPublicIp. """ - def __init__(__self__, id=None, ip=None, labels=None, network_interface_id=None, project_id=None, public_ip_id=None): + def __init__(__self__, id=None, ip=None, labels=None, network_interface_id=None, project_id=None, public_ip_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) @@ -45,6 +45,9 @@ def __init__(__self__, id=None, ip=None, labels=None, network_interface_id=None, if public_ip_id and not isinstance(public_ip_id, str): raise TypeError("Expected argument 'public_ip_id' to be a str") pulumi.set(__self__, "public_ip_id", public_ip_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 @@ -91,6 +94,14 @@ def public_ip_id(self) -> _builtins.str: """ return pulumi.get(self, "public_ip_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 AwaitableGetPublicIpResult(GetPublicIpResult): # pylint: disable=using-constant-test @@ -103,11 +114,13 @@ def __await__(self): labels=self.labels, network_interface_id=self.network_interface_id, project_id=self.project_id, - public_ip_id=self.public_ip_id) + public_ip_id=self.public_ip_id, + region=self.region) def get_public_ip(project_id: Optional[_builtins.str] = None, public_ip_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetPublicIpResult: """ Public IP resource schema. Must have a `region` specified in the provider configuration. @@ -117,10 +130,12 @@ def get_public_ip(project_id: Optional[_builtins.str] = None, :param _builtins.str project_id: STACKIT project ID to which the public IP is associated. :param _builtins.str public_ip_id: The public IP ID. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['projectId'] = project_id __args__['publicIpId'] = public_ip_id + __args__['region'] = region opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getPublicIp:getPublicIp', __args__, opts=opts, typ=GetPublicIpResult).value @@ -130,9 +145,11 @@ def get_public_ip(project_id: Optional[_builtins.str] = None, labels=pulumi.get(__ret__, 'labels'), network_interface_id=pulumi.get(__ret__, 'network_interface_id'), project_id=pulumi.get(__ret__, 'project_id'), - public_ip_id=pulumi.get(__ret__, 'public_ip_id')) + public_ip_id=pulumi.get(__ret__, 'public_ip_id'), + region=pulumi.get(__ret__, 'region')) def get_public_ip_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, public_ip_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[GetPublicIpResult]: """ Public IP resource schema. Must have a `region` specified in the provider configuration. @@ -142,10 +159,12 @@ def get_public_ip_output(project_id: Optional[pulumi.Input[_builtins.str]] = Non :param _builtins.str project_id: STACKIT project ID to which the public IP is associated. :param _builtins.str public_ip_id: The public IP ID. + :param _builtins.str region: The resource region. If not defined, the provider region is used. """ __args__ = dict() __args__['projectId'] = project_id __args__['publicIpId'] = public_ip_id + __args__['region'] = region opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getPublicIp:getPublicIp', __args__, opts=opts, typ=GetPublicIpResult) return __ret__.apply(lambda __response__: GetPublicIpResult( @@ -154,4 +173,5 @@ def get_public_ip_output(project_id: Optional[pulumi.Input[_builtins.str]] = Non labels=pulumi.get(__response__, 'labels'), network_interface_id=pulumi.get(__response__, 'network_interface_id'), project_id=pulumi.get(__response__, 'project_id'), - public_ip_id=pulumi.get(__response__, 'public_ip_id'))) + public_ip_id=pulumi.get(__response__, 'public_ip_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_security_group.py b/sdk/python/pulumi_stackit/get_security_group.py index 99b1d52..9440dda 100644 --- a/sdk/python/pulumi_stackit/get_security_group.py +++ b/sdk/python/pulumi_stackit/get_security_group.py @@ -26,7 +26,7 @@ class GetSecurityGroupResult: """ A collection of values returned by getSecurityGroup. """ - def __init__(__self__, description=None, id=None, labels=None, name=None, project_id=None, security_group_id=None, stateful=None): + def __init__(__self__, description=None, id=None, labels=None, name=None, project_id=None, region=None, security_group_id=None, stateful=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) @@ -42,6 +42,9 @@ def __init__(__self__, description=None, id=None, labels=None, name=None, projec 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) if security_group_id and not isinstance(security_group_id, str): raise TypeError("Expected argument 'security_group_id' to be a str") pulumi.set(__self__, "security_group_id", security_group_id) @@ -86,6 +89,14 @@ def project_id(self) -> _builtins.str: """ 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") + @_builtins.property @pulumi.getter(name="securityGroupId") def security_group_id(self) -> _builtins.str: @@ -114,11 +125,13 @@ def __await__(self): labels=self.labels, name=self.name, project_id=self.project_id, + region=self.region, security_group_id=self.security_group_id, stateful=self.stateful) def get_security_group(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, security_group_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGroupResult: """ @@ -128,10 +141,12 @@ def get_security_group(project_id: Optional[_builtins.str] = None, :param _builtins.str project_id: STACKIT project ID to which the security group is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str security_group_id: The security group ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['securityGroupId'] = security_group_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getSecurityGroup:getSecurityGroup', __args__, opts=opts, typ=GetSecurityGroupResult).value @@ -142,9 +157,11 @@ def get_security_group(project_id: Optional[_builtins.str] = None, labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), security_group_id=pulumi.get(__ret__, 'security_group_id'), stateful=pulumi.get(__ret__, 'stateful')) def get_security_group_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupResult]: """ @@ -154,10 +171,12 @@ def get_security_group_output(project_id: Optional[pulumi.Input[_builtins.str]] :param _builtins.str project_id: STACKIT project ID to which the security group is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str security_group_id: The security group ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['securityGroupId'] = security_group_id opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getSecurityGroup:getSecurityGroup', __args__, opts=opts, typ=GetSecurityGroupResult) @@ -167,5 +186,6 @@ def get_security_group_output(project_id: Optional[pulumi.Input[_builtins.str]] labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), security_group_id=pulumi.get(__response__, 'security_group_id'), stateful=pulumi.get(__response__, 'stateful'))) diff --git a/sdk/python/pulumi_stackit/get_security_group_rule.py b/sdk/python/pulumi_stackit/get_security_group_rule.py index 29f1a3a..d22dc49 100644 --- a/sdk/python/pulumi_stackit/get_security_group_rule.py +++ b/sdk/python/pulumi_stackit/get_security_group_rule.py @@ -27,7 +27,7 @@ class GetSecurityGroupRuleResult: """ A collection of values returned by getSecurityGroupRule. """ - def __init__(__self__, description=None, direction=None, ether_type=None, icmp_parameters=None, id=None, ip_range=None, port_range=None, project_id=None, protocol=None, remote_security_group_id=None, security_group_id=None, security_group_rule_id=None): + def __init__(__self__, description=None, direction=None, ether_type=None, icmp_parameters=None, id=None, ip_range=None, port_range=None, project_id=None, protocol=None, region=None, remote_security_group_id=None, security_group_id=None, security_group_rule_id=None): if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) @@ -55,6 +55,9 @@ def __init__(__self__, description=None, direction=None, ether_type=None, icmp_p if protocol and not isinstance(protocol, dict): raise TypeError("Expected argument 'protocol' to be a dict") pulumi.set(__self__, "protocol", protocol) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) if remote_security_group_id and not isinstance(remote_security_group_id, str): raise TypeError("Expected argument 'remote_security_group_id' to be a str") pulumi.set(__self__, "remote_security_group_id", remote_security_group_id) @@ -134,6 +137,14 @@ def protocol(self) -> 'outputs.GetSecurityGroupRuleProtocolResult': """ return pulumi.get(self, "protocol") + @_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") + @_builtins.property @pulumi.getter(name="remoteSecurityGroupId") def remote_security_group_id(self) -> _builtins.str: @@ -174,12 +185,14 @@ def __await__(self): port_range=self.port_range, project_id=self.project_id, protocol=self.protocol, + region=self.region, remote_security_group_id=self.remote_security_group_id, security_group_id=self.security_group_id, security_group_rule_id=self.security_group_rule_id) def get_security_group_rule(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, security_group_id: Optional[_builtins.str] = None, security_group_rule_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSecurityGroupRuleResult: @@ -190,11 +203,13 @@ def get_security_group_rule(project_id: Optional[_builtins.str] = None, :param _builtins.str project_id: STACKIT project ID to which the security group rule is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str security_group_id: The security group ID. :param _builtins.str security_group_rule_id: The security group rule ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['securityGroupId'] = security_group_id __args__['securityGroupRuleId'] = security_group_rule_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -210,10 +225,12 @@ def get_security_group_rule(project_id: Optional[_builtins.str] = None, port_range=pulumi.get(__ret__, 'port_range'), project_id=pulumi.get(__ret__, 'project_id'), protocol=pulumi.get(__ret__, 'protocol'), + region=pulumi.get(__ret__, 'region'), remote_security_group_id=pulumi.get(__ret__, 'remote_security_group_id'), security_group_id=pulumi.get(__ret__, 'security_group_id'), security_group_rule_id=pulumi.get(__ret__, 'security_group_rule_id')) def get_security_group_rule_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_rule_id: Optional[pulumi.Input[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSecurityGroupRuleResult]: @@ -224,11 +241,13 @@ def get_security_group_rule_output(project_id: Optional[pulumi.Input[_builtins.s :param _builtins.str project_id: STACKIT project ID to which the security group rule is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str security_group_id: The security group ID. :param _builtins.str security_group_rule_id: The security group rule ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['securityGroupId'] = security_group_id __args__['securityGroupRuleId'] = security_group_rule_id opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) @@ -243,6 +262,7 @@ def get_security_group_rule_output(project_id: Optional[pulumi.Input[_builtins.s port_range=pulumi.get(__response__, 'port_range'), project_id=pulumi.get(__response__, 'project_id'), protocol=pulumi.get(__response__, 'protocol'), + region=pulumi.get(__response__, 'region'), remote_security_group_id=pulumi.get(__response__, 'remote_security_group_id'), security_group_id=pulumi.get(__response__, 'security_group_id'), security_group_rule_id=pulumi.get(__response__, 'security_group_rule_id'))) diff --git a/sdk/python/pulumi_stackit/get_server.py b/sdk/python/pulumi_stackit/get_server.py index d1b896f..ecdd285 100644 --- a/sdk/python/pulumi_stackit/get_server.py +++ b/sdk/python/pulumi_stackit/get_server.py @@ -27,7 +27,7 @@ class GetServerResult: """ A collection of values returned by getServer. """ - def __init__(__self__, affinity_group=None, availability_zone=None, boot_volume=None, created_at=None, id=None, image_id=None, keypair_name=None, labels=None, launched_at=None, machine_type=None, name=None, network_interfaces=None, project_id=None, server_id=None, updated_at=None, user_data=None): + def __init__(__self__, affinity_group=None, availability_zone=None, boot_volume=None, created_at=None, id=None, image_id=None, keypair_name=None, labels=None, launched_at=None, machine_type=None, name=None, network_interfaces=None, project_id=None, region=None, server_id=None, updated_at=None, user_data=None): if affinity_group and not isinstance(affinity_group, str): raise TypeError("Expected argument 'affinity_group' to be a str") pulumi.set(__self__, "affinity_group", affinity_group) @@ -67,6 +67,9 @@ def __init__(__self__, affinity_group=None, availability_zone=None, boot_volume= 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) if server_id and not isinstance(server_id, str): raise TypeError("Expected argument 'server_id' to be a str") pulumi.set(__self__, "server_id", server_id) @@ -150,7 +153,7 @@ def launched_at(self) -> _builtins.str: @pulumi.getter(name="machineType") def machine_type(self) -> _builtins.str: """ - Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) """ return pulumi.get(self, "machine_type") @@ -178,6 +181,14 @@ def project_id(self) -> _builtins.str: """ 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") + @_builtins.property @pulumi.getter(name="serverId") def server_id(self) -> _builtins.str: @@ -222,12 +233,14 @@ def __await__(self): name=self.name, network_interfaces=self.network_interfaces, project_id=self.project_id, + region=self.region, server_id=self.server_id, updated_at=self.updated_at, user_data=self.user_data) def get_server(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, server_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServerResult: """ @@ -237,10 +250,12 @@ def get_server(project_id: Optional[_builtins.str] = None, :param _builtins.str project_id: STACKIT project ID to which the server is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str server_id: The server ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['serverId'] = server_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getServer:getServer', __args__, opts=opts, typ=GetServerResult).value @@ -259,10 +274,12 @@ def get_server(project_id: Optional[_builtins.str] = None, name=pulumi.get(__ret__, 'name'), network_interfaces=pulumi.get(__ret__, 'network_interfaces'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), server_id=pulumi.get(__ret__, 'server_id'), updated_at=pulumi.get(__ret__, 'updated_at'), user_data=pulumi.get(__ret__, 'user_data')) def get_server_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServerResult]: """ @@ -272,10 +289,12 @@ def get_server_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, :param _builtins.str project_id: STACKIT project ID to which the server is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str server_id: The server ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['serverId'] = server_id opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getServer:getServer', __args__, opts=opts, typ=GetServerResult) @@ -293,6 +312,7 @@ def get_server_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, name=pulumi.get(__response__, 'name'), network_interfaces=pulumi.get(__response__, 'network_interfaces'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), server_id=pulumi.get(__response__, 'server_id'), updated_at=pulumi.get(__response__, 'updated_at'), user_data=pulumi.get(__response__, 'user_data'))) diff --git a/sdk/python/pulumi_stackit/get_sfs_export_policy.py b/sdk/python/pulumi_stackit/get_sfs_export_policy.py new file mode 100644 index 0000000..fb801ee --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sfs_export_policy.py @@ -0,0 +1,165 @@ +# 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__ = [ + 'GetSfsExportPolicyResult', + 'AwaitableGetSfsExportPolicyResult', + 'get_sfs_export_policy', + 'get_sfs_export_policy_output', +] + +@pulumi.output_type +class GetSfsExportPolicyResult: + """ + A collection of values returned by getSfsExportPolicy. + """ + def __init__(__self__, id=None, name=None, policy_id=None, project_id=None, region=None, rules=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if policy_id and not isinstance(policy_id, str): + raise TypeError("Expected argument 'policy_id' to be a str") + pulumi.set(__self__, "policy_id", policy_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 region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if rules and not isinstance(rules, list): + raise TypeError("Expected argument 'rules' to be a list") + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the export policy. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="policyId") + def policy_id(self) -> _builtins.str: + """ + Export policy ID + """ + return pulumi.get(self, "policy_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the export policy is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + The resource region. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def rules(self) -> Sequence['outputs.GetSfsExportPolicyRuleResult']: + return pulumi.get(self, "rules") + + +class AwaitableGetSfsExportPolicyResult(GetSfsExportPolicyResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSfsExportPolicyResult( + id=self.id, + name=self.name, + policy_id=self.policy_id, + project_id=self.project_id, + region=self.region, + rules=self.rules) + + +def get_sfs_export_policy(policy_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSfsExportPolicyResult: + """ + SFS export policy datasource schema. Must have a `region` specified in the provider configuration. + + > 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 policy_id: Export policy ID + :param _builtins.str project_id: STACKIT project ID to which the export policy is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['policyId'] = policy_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSfsExportPolicy:getSfsExportPolicy', __args__, opts=opts, typ=GetSfsExportPolicyResult).value + + return AwaitableGetSfsExportPolicyResult( + id=pulumi.get(__ret__, 'id'), + name=pulumi.get(__ret__, 'name'), + policy_id=pulumi.get(__ret__, 'policy_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + rules=pulumi.get(__ret__, 'rules')) +def get_sfs_export_policy_output(policy_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[GetSfsExportPolicyResult]: + """ + SFS export policy datasource schema. Must have a `region` specified in the provider configuration. + + > 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 policy_id: Export policy ID + :param _builtins.str project_id: STACKIT project ID to which the export policy is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['policyId'] = policy_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/getSfsExportPolicy:getSfsExportPolicy', __args__, opts=opts, typ=GetSfsExportPolicyResult) + return __ret__.apply(lambda __response__: GetSfsExportPolicyResult( + id=pulumi.get(__response__, 'id'), + name=pulumi.get(__response__, 'name'), + policy_id=pulumi.get(__response__, 'policy_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + rules=pulumi.get(__response__, 'rules'))) diff --git a/sdk/python/pulumi_stackit/get_sfs_resource_pool.py b/sdk/python/pulumi_stackit/get_sfs_resource_pool.py new file mode 100644 index 0000000..aaec2bc --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sfs_resource_pool.py @@ -0,0 +1,251 @@ +# 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__ = [ + 'GetSfsResourcePoolResult', + 'AwaitableGetSfsResourcePoolResult', + 'get_sfs_resource_pool', + 'get_sfs_resource_pool_output', +] + +@pulumi.output_type +class GetSfsResourcePoolResult: + """ + A collection of values returned by getSfsResourcePool. + """ + def __init__(__self__, availability_zone=None, id=None, ip_acls=None, name=None, performance_class=None, performance_class_downgradable_at=None, project_id=None, region=None, resource_pool_id=None, size_gigabytes=None, size_reducible_at=None, snapshots_are_visible=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 id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if ip_acls and not isinstance(ip_acls, list): + raise TypeError("Expected argument 'ip_acls' to be a list") + pulumi.set(__self__, "ip_acls", ip_acls) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if performance_class and not isinstance(performance_class, str): + raise TypeError("Expected argument 'performance_class' to be a str") + pulumi.set(__self__, "performance_class", performance_class) + if performance_class_downgradable_at and not isinstance(performance_class_downgradable_at, str): + raise TypeError("Expected argument 'performance_class_downgradable_at' to be a str") + pulumi.set(__self__, "performance_class_downgradable_at", performance_class_downgradable_at) + 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) + if resource_pool_id and not isinstance(resource_pool_id, str): + raise TypeError("Expected argument 'resource_pool_id' to be a str") + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + if size_gigabytes and not isinstance(size_gigabytes, int): + raise TypeError("Expected argument 'size_gigabytes' to be a int") + pulumi.set(__self__, "size_gigabytes", size_gigabytes) + if size_reducible_at and not isinstance(size_reducible_at, str): + raise TypeError("Expected argument 'size_reducible_at' to be a str") + pulumi.set(__self__, "size_reducible_at", size_reducible_at) + if snapshots_are_visible and not isinstance(snapshots_are_visible, bool): + raise TypeError("Expected argument 'snapshots_are_visible' to be a bool") + pulumi.set(__self__, "snapshots_are_visible", snapshots_are_visible) + + @_builtins.property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> _builtins.str: + """ + Availability zone. + """ + return pulumi.get(self, "availability_zone") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> Sequence[_builtins.str]: + """ + List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the resource pool. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="performanceClass") + def performance_class(self) -> _builtins.str: + """ + Name of the performance class. + """ + return pulumi.get(self, "performance_class") + + @_builtins.property + @pulumi.getter(name="performanceClassDowngradableAt") + def performance_class_downgradable_at(self) -> _builtins.str: + """ + Time when the performance class can be downgraded again. + """ + return pulumi.get(self, "performance_class_downgradable_at") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the resource pool is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The resource region. Read-only attribute that reflects the provider region. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="resourcePoolId") + def resource_pool_id(self) -> _builtins.str: + """ + Resourcepool ID + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter(name="sizeGigabytes") + def size_gigabytes(self) -> _builtins.int: + """ + Size of the resource pool (unit: gigabytes) + """ + return pulumi.get(self, "size_gigabytes") + + @_builtins.property + @pulumi.getter(name="sizeReducibleAt") + def size_reducible_at(self) -> _builtins.str: + """ + Time when the size can be reduced again. + """ + return pulumi.get(self, "size_reducible_at") + + @_builtins.property + @pulumi.getter(name="snapshotsAreVisible") + def snapshots_are_visible(self) -> _builtins.bool: + """ + If set to true, snapshots are visible and accessible to users. (default: false) + """ + return pulumi.get(self, "snapshots_are_visible") + + +class AwaitableGetSfsResourcePoolResult(GetSfsResourcePoolResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSfsResourcePoolResult( + availability_zone=self.availability_zone, + id=self.id, + ip_acls=self.ip_acls, + name=self.name, + performance_class=self.performance_class, + performance_class_downgradable_at=self.performance_class_downgradable_at, + project_id=self.project_id, + region=self.region, + resource_pool_id=self.resource_pool_id, + size_gigabytes=self.size_gigabytes, + size_reducible_at=self.size_reducible_at, + snapshots_are_visible=self.snapshots_are_visible) + + +def get_sfs_resource_pool(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + resource_pool_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSfsResourcePoolResult: + """ + Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + + > 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 resource pool is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: Resourcepool ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSfsResourcePool:getSfsResourcePool', __args__, opts=opts, typ=GetSfsResourcePoolResult).value + + return AwaitableGetSfsResourcePoolResult( + availability_zone=pulumi.get(__ret__, 'availability_zone'), + id=pulumi.get(__ret__, 'id'), + ip_acls=pulumi.get(__ret__, 'ip_acls'), + name=pulumi.get(__ret__, 'name'), + performance_class=pulumi.get(__ret__, 'performance_class'), + performance_class_downgradable_at=pulumi.get(__ret__, 'performance_class_downgradable_at'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + resource_pool_id=pulumi.get(__ret__, 'resource_pool_id'), + size_gigabytes=pulumi.get(__ret__, 'size_gigabytes'), + size_reducible_at=pulumi.get(__ret__, 'size_reducible_at'), + snapshots_are_visible=pulumi.get(__ret__, 'snapshots_are_visible')) +def get_sfs_resource_pool_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSfsResourcePoolResult]: + """ + Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + + > 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 resource pool is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: Resourcepool ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSfsResourcePool:getSfsResourcePool', __args__, opts=opts, typ=GetSfsResourcePoolResult) + return __ret__.apply(lambda __response__: GetSfsResourcePoolResult( + availability_zone=pulumi.get(__response__, 'availability_zone'), + id=pulumi.get(__response__, 'id'), + ip_acls=pulumi.get(__response__, 'ip_acls'), + name=pulumi.get(__response__, 'name'), + performance_class=pulumi.get(__response__, 'performance_class'), + performance_class_downgradable_at=pulumi.get(__response__, 'performance_class_downgradable_at'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + resource_pool_id=pulumi.get(__response__, 'resource_pool_id'), + size_gigabytes=pulumi.get(__response__, 'size_gigabytes'), + size_reducible_at=pulumi.get(__response__, 'size_reducible_at'), + snapshots_are_visible=pulumi.get(__response__, 'snapshots_are_visible'))) diff --git a/sdk/python/pulumi_stackit/get_sfs_resource_pool_snapshot.py b/sdk/python/pulumi_stackit/get_sfs_resource_pool_snapshot.py new file mode 100644 index 0000000..587f616 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sfs_resource_pool_snapshot.py @@ -0,0 +1,154 @@ +# 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__ = [ + 'GetSfsResourcePoolSnapshotResult', + 'AwaitableGetSfsResourcePoolSnapshotResult', + 'get_sfs_resource_pool_snapshot', + 'get_sfs_resource_pool_snapshot_output', +] + +@pulumi.output_type +class GetSfsResourcePoolSnapshotResult: + """ + A collection of values returned by getSfsResourcePoolSnapshot. + """ + def __init__(__self__, id=None, project_id=None, region=None, resource_pool_id=None, snapshots=None): + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", 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 region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if resource_pool_id and not isinstance(resource_pool_id, str): + raise TypeError("Expected argument 'resource_pool_id' to be a str") + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + if snapshots and not isinstance(snapshots, list): + raise TypeError("Expected argument 'snapshots' to be a list") + pulumi.set(__self__, "snapshots", snapshots) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the resource pool snapshot is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The resource region. Read-only attribute that reflects the provider region. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="resourcePoolId") + def resource_pool_id(self) -> _builtins.str: + """ + Resource pool ID + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter + def snapshots(self) -> Sequence['outputs.GetSfsResourcePoolSnapshotSnapshotResult']: + """ + Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + """ + return pulumi.get(self, "snapshots") + + +class AwaitableGetSfsResourcePoolSnapshotResult(GetSfsResourcePoolSnapshotResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSfsResourcePoolSnapshotResult( + id=self.id, + project_id=self.project_id, + region=self.region, + resource_pool_id=self.resource_pool_id, + snapshots=self.snapshots) + + +def get_sfs_resource_pool_snapshot(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + resource_pool_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSfsResourcePoolSnapshotResult: + """ + Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + + > 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 resource pool snapshot is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: Resource pool ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot', __args__, opts=opts, typ=GetSfsResourcePoolSnapshotResult).value + + return AwaitableGetSfsResourcePoolSnapshotResult( + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + resource_pool_id=pulumi.get(__ret__, 'resource_pool_id'), + snapshots=pulumi.get(__ret__, 'snapshots')) +def get_sfs_resource_pool_snapshot_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSfsResourcePoolSnapshotResult]: + """ + Resource-pool datasource schema. Must have a `region` specified in the provider configuration. + + > 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 resource pool snapshot is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: Resource pool ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot', __args__, opts=opts, typ=GetSfsResourcePoolSnapshotResult) + return __ret__.apply(lambda __response__: GetSfsResourcePoolSnapshotResult( + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + resource_pool_id=pulumi.get(__response__, 'resource_pool_id'), + snapshots=pulumi.get(__response__, 'snapshots'))) diff --git a/sdk/python/pulumi_stackit/get_sfs_share.py b/sdk/python/pulumi_stackit/get_sfs_share.py new file mode 100644 index 0000000..686510b --- /dev/null +++ b/sdk/python/pulumi_stackit/get_sfs_share.py @@ -0,0 +1,220 @@ +# 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__ = [ + 'GetSfsShareResult', + 'AwaitableGetSfsShareResult', + 'get_sfs_share', + 'get_sfs_share_output', +] + +@pulumi.output_type +class GetSfsShareResult: + """ + A collection of values returned by getSfsShare. + """ + def __init__(__self__, export_policy=None, id=None, mount_path=None, name=None, project_id=None, region=None, resource_pool_id=None, share_id=None, space_hard_limit_gigabytes=None): + if export_policy and not isinstance(export_policy, str): + raise TypeError("Expected argument 'export_policy' to be a str") + pulumi.set(__self__, "export_policy", export_policy) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if mount_path and not isinstance(mount_path, str): + raise TypeError("Expected argument 'mount_path' to be a str") + pulumi.set(__self__, "mount_path", mount_path) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + 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) + if resource_pool_id and not isinstance(resource_pool_id, str): + raise TypeError("Expected argument 'resource_pool_id' to be a str") + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + if share_id and not isinstance(share_id, str): + raise TypeError("Expected argument 'share_id' to be a str") + pulumi.set(__self__, "share_id", share_id) + if space_hard_limit_gigabytes and not isinstance(space_hard_limit_gigabytes, int): + raise TypeError("Expected argument 'space_hard_limit_gigabytes' to be a int") + pulumi.set(__self__, "space_hard_limit_gigabytes", space_hard_limit_gigabytes) + + @_builtins.property + @pulumi.getter(name="exportPolicy") + def export_policy(self) -> _builtins.str: + """ + Name of the Share Export Policy to use in the Share. + Note that if this is not set, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + """ + return pulumi.get(self, "export_policy") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="mountPath") + def mount_path(self) -> _builtins.str: + """ + Mount path of the Share, used to mount the Share + """ + return pulumi.get(self, "mount_path") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the Share + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID to which the share is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The resource region. Read-only attribute that reflects the provider region. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="resourcePoolId") + def resource_pool_id(self) -> _builtins.str: + """ + The ID of the resource pool for the SFS share. + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter(name="shareId") + def share_id(self) -> _builtins.str: + """ + share ID + """ + return pulumi.get(self, "share_id") + + @_builtins.property + @pulumi.getter(name="spaceHardLimitGigabytes") + def space_hard_limit_gigabytes(self) -> _builtins.int: + """ + Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + return pulumi.get(self, "space_hard_limit_gigabytes") + + +class AwaitableGetSfsShareResult(GetSfsShareResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetSfsShareResult( + export_policy=self.export_policy, + id=self.id, + mount_path=self.mount_path, + name=self.name, + project_id=self.project_id, + region=self.region, + resource_pool_id=self.resource_pool_id, + share_id=self.share_id, + space_hard_limit_gigabytes=self.space_hard_limit_gigabytes) + + +def get_sfs_share(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + resource_pool_id: Optional[_builtins.str] = None, + share_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetSfsShareResult: + """ + SFS Share schema. Must have a `region` specified in the provider configuration. + + > 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 share is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: The ID of the resource pool for the SFS share. + :param _builtins.str share_id: share ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + __args__['shareId'] = share_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getSfsShare:getSfsShare', __args__, opts=opts, typ=GetSfsShareResult).value + + return AwaitableGetSfsShareResult( + export_policy=pulumi.get(__ret__, 'export_policy'), + id=pulumi.get(__ret__, 'id'), + mount_path=pulumi.get(__ret__, 'mount_path'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + resource_pool_id=pulumi.get(__ret__, 'resource_pool_id'), + share_id=pulumi.get(__ret__, 'share_id'), + space_hard_limit_gigabytes=pulumi.get(__ret__, 'space_hard_limit_gigabytes')) +def get_sfs_share_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + share_id: Optional[pulumi.Input[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetSfsShareResult]: + """ + SFS Share schema. Must have a `region` specified in the provider configuration. + + > 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 share is associated. + :param _builtins.str region: The resource region. Read-only attribute that reflects the provider region. + :param _builtins.str resource_pool_id: The ID of the resource pool for the SFS share. + :param _builtins.str share_id: share ID + """ + __args__ = dict() + __args__['projectId'] = project_id + __args__['region'] = region + __args__['resourcePoolId'] = resource_pool_id + __args__['shareId'] = share_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getSfsShare:getSfsShare', __args__, opts=opts, typ=GetSfsShareResult) + return __ret__.apply(lambda __response__: GetSfsShareResult( + export_policy=pulumi.get(__response__, 'export_policy'), + id=pulumi.get(__response__, 'id'), + mount_path=pulumi.get(__response__, 'mount_path'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + resource_pool_id=pulumi.get(__response__, 'resource_pool_id'), + share_id=pulumi.get(__response__, 'share_id'), + space_hard_limit_gigabytes=pulumi.get(__response__, 'space_hard_limit_gigabytes'))) diff --git a/sdk/python/pulumi_stackit/get_ske_cluster.py b/sdk/python/pulumi_stackit/get_ske_cluster.py index 3269b1f..d19cf4c 100644 --- a/sdk/python/pulumi_stackit/get_ske_cluster.py +++ b/sdk/python/pulumi_stackit/get_ske_cluster.py @@ -101,7 +101,7 @@ def id(self) -> _builtins.str: @pulumi.getter(name="kubernetesVersionMin") def kubernetes_version_min(self) -> _builtins.str: """ - The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the `kubernetes_version_used` field. + The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the `kubernetes_version_used` field. """ return pulumi.get(self, "kubernetes_version_min") diff --git a/sdk/python/pulumi_stackit/get_volume.py b/sdk/python/pulumi_stackit/get_volume.py index f5d5bc8..eecb322 100644 --- a/sdk/python/pulumi_stackit/get_volume.py +++ b/sdk/python/pulumi_stackit/get_volume.py @@ -27,7 +27,7 @@ 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, server_id=None, size=None, source=None, volume_id=None): + 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): 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) @@ -49,6 +49,9 @@ def __init__(__self__, availability_zone=None, description=None, id=None, labels 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) if server_id and not isinstance(server_id, str): raise TypeError("Expected argument 'server_id' to be a str") pulumi.set(__self__, "server_id", server_id) @@ -103,7 +106,7 @@ def name(self) -> _builtins.str: @pulumi.getter(name="performanceClass") def performance_class(self) -> _builtins.str: """ - The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + 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) """ return pulumi.get(self, "performance_class") @@ -115,6 +118,14 @@ def project_id(self) -> _builtins.str: """ 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") + @_builtins.property @pulumi.getter(name="serverId") def server_id(self) -> _builtins.str: @@ -161,6 +172,7 @@ def __await__(self): name=self.name, performance_class=self.performance_class, project_id=self.project_id, + region=self.region, server_id=self.server_id, size=self.size, source=self.source, @@ -168,6 +180,7 @@ def __await__(self): def get_volume(project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, volume_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVolumeResult: """ @@ -177,10 +190,12 @@ def get_volume(project_id: Optional[_builtins.str] = None, :param _builtins.str project_id: STACKIT project ID to which the volume is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str volume_id: The volume ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['volumeId'] = volume_id opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke('stackit:index/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult).value @@ -193,11 +208,13 @@ def get_volume(project_id: Optional[_builtins.str] = None, name=pulumi.get(__ret__, 'name'), performance_class=pulumi.get(__ret__, 'performance_class'), project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), server_id=pulumi.get(__ret__, 'server_id'), size=pulumi.get(__ret__, 'size'), source=pulumi.get(__ret__, 'source'), volume_id=pulumi.get(__ret__, 'volume_id')) def get_volume_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[Optional[_builtins.str]]] = None, volume_id: Optional[pulumi.Input[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVolumeResult]: """ @@ -207,10 +224,12 @@ def get_volume_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, :param _builtins.str project_id: STACKIT project ID to which the volume is associated. + :param _builtins.str region: The resource region. If not defined, the provider region is used. :param _builtins.str volume_id: The volume ID. """ __args__ = dict() __args__['projectId'] = project_id + __args__['region'] = region __args__['volumeId'] = volume_id opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getVolume:getVolume', __args__, opts=opts, typ=GetVolumeResult) @@ -222,6 +241,7 @@ def get_volume_output(project_id: Optional[pulumi.Input[_builtins.str]] = None, name=pulumi.get(__response__, 'name'), performance_class=pulumi.get(__response__, 'performance_class'), project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), server_id=pulumi.get(__response__, 'server_id'), size=pulumi.get(__response__, 'size'), source=pulumi.get(__response__, 'source'), diff --git a/sdk/python/pulumi_stackit/image.py b/sdk/python/pulumi_stackit/image.py index f5344dc..f9f287d 100644 --- a/sdk/python/pulumi_stackit/image.py +++ b/sdk/python/pulumi_stackit/image.py @@ -28,7 +28,8 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, min_disk_size: Optional[pulumi.Input[_builtins.int]] = None, min_ram: Optional[pulumi.Input[_builtins.int]] = None, - name: Optional[pulumi.Input[_builtins.str]] = None): + name: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Image resource. :param pulumi.Input[_builtins.str] disk_format: The disk format of the image. @@ -39,6 +40,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.int] min_disk_size: The minimum disk size of the image in GB. :param pulumi.Input[_builtins.int] min_ram: The minimum RAM of the image in MB. :param pulumi.Input[_builtins.str] name: The name of the image. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "disk_format", disk_format) pulumi.set(__self__, "local_file_path", local_file_path) @@ -53,6 +55,8 @@ def __init__(__self__, *, pulumi.set(__self__, "min_ram", min_ram) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="diskFormat") @@ -150,6 +154,18 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", 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 _ImageState: @@ -165,6 +181,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protected: Optional[pulumi.Input[_builtins.bool]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, scope: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering Image resources. @@ -179,6 +196,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] name: The name of the image. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the image is associated. :param pulumi.Input[_builtins.bool] protected: Whether the image is protected. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] scope: The scope of the image. """ if checksum is not None: @@ -203,6 +221,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if protected is not None: pulumi.set(__self__, "protected", protected) + if region is not None: + pulumi.set(__self__, "region", region) if scope is not None: pulumi.set(__self__, "scope", scope) @@ -338,6 +358,18 @@ def protected(self) -> Optional[pulumi.Input[_builtins.bool]]: def protected(self, value: Optional[pulumi.Input[_builtins.bool]]): pulumi.set(self, "protected", 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 scope(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -365,6 +397,7 @@ def __init__(__self__, min_ram: Optional[pulumi.Input[_builtins.int]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Image resource schema. Must have a `region` specified in the provider configuration. @@ -381,6 +414,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.int] min_ram: The minimum RAM of the image in MB. :param pulumi.Input[_builtins.str] name: The name of the image. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the image is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -416,6 +450,7 @@ def _internal_init(__self__, min_ram: Optional[pulumi.Input[_builtins.int]] = None, name: 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): @@ -439,6 +474,7 @@ def _internal_init(__self__, 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__["checksum"] = None __props__.__dict__["image_id"] = None __props__.__dict__["protected"] = None @@ -464,6 +500,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protected: Optional[pulumi.Input[_builtins.bool]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, scope: Optional[pulumi.Input[_builtins.str]] = None) -> 'Image': """ Get an existing Image resource's state with the given name, id, and optional extra @@ -483,6 +520,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] name: The name of the image. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the image is associated. :param pulumi.Input[_builtins.bool] protected: Whether the image is protected. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] scope: The scope of the image. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -500,6 +538,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["project_id"] = project_id __props__.__dict__["protected"] = protected + __props__.__dict__["region"] = region __props__.__dict__["scope"] = scope return Image(resource_name, opts=opts, __props__=__props__) @@ -591,6 +630,14 @@ def protected(self) -> pulumi.Output[_builtins.bool]: """ return pulumi.get(self, "protected") + @_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 scope(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/network.py b/sdk/python/pulumi_stackit/network.py index a375910..082c73d 100644 --- a/sdk/python/pulumi_stackit/network.py +++ b/sdk/python/pulumi_stackit/network.py @@ -52,11 +52,9 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] nameservers: The nameservers of the network. This field is deprecated and will be removed in January 2026, use `ipv4_nameservers` to configure the nameservers for IPv4. :param pulumi.Input[_builtins.bool] no_ipv4_gateway: If set to `true`, the network doesn't have a gateway. :param pulumi.Input[_builtins.bool] no_ipv6_gateway: If set to `true`, the network doesn't have a gateway. - :param pulumi.Input[_builtins.str] region: Can only be used when experimental "network" is set. - The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. - :param pulumi.Input[_builtins.str] routing_table_id: Can only be used when experimental "network" is set. - The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. """ pulumi.set(__self__, "project_id", project_id) if ipv4_gateway is not None: @@ -268,7 +266,6 @@ def no_ipv6_gateway(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Can only be used when experimental "network" is set. The resource region. If not defined, the provider region is used. """ return pulumi.get(self, "region") @@ -293,7 +290,6 @@ def routed(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="routingTableId") def routing_table_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Can only be used when experimental "network" is set. The ID of the routing table associated with the network. """ return pulumi.get(self, "routing_table_id") @@ -349,11 +345,9 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] prefixes: The prefixes of the network. This field is deprecated and will be removed in January 2026, use `ipv4_prefixes` to read the prefixes of the IPv4 networks. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. :param pulumi.Input[_builtins.str] public_ip: The public IP of the network. - :param pulumi.Input[_builtins.str] region: Can only be used when experimental "network" is set. - The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. - :param pulumi.Input[_builtins.str] routing_table_id: Can only be used when experimental "network" is set. - The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. """ if ipv4_gateway is not None: pulumi.set(__self__, "ipv4_gateway", ipv4_gateway) @@ -640,7 +634,6 @@ def public_ip(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter def region(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Can only be used when experimental "network" is set. The resource region. If not defined, the provider region is used. """ return pulumi.get(self, "region") @@ -665,7 +658,6 @@ def routed(self, value: Optional[pulumi.Input[_builtins.bool]]): @pulumi.getter(name="routingTableId") def routing_table_id(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Can only be used when experimental "network" is set. The ID of the routing table associated with the network. """ return pulumi.get(self, "routing_table_id") @@ -723,11 +715,9 @@ def __init__(__self__, :param pulumi.Input[_builtins.bool] no_ipv4_gateway: If set to `true`, the network doesn't have a gateway. :param pulumi.Input[_builtins.bool] no_ipv6_gateway: If set to `true`, the network doesn't have a gateway. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. - :param pulumi.Input[_builtins.str] region: Can only be used when experimental "network" is set. - The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. - :param pulumi.Input[_builtins.str] routing_table_id: Can only be used when experimental "network" is set. - The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. """ ... @overload @@ -866,11 +856,9 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] prefixes: The prefixes of the network. This field is deprecated and will be removed in January 2026, use `ipv4_prefixes` to read the prefixes of the IPv4 networks. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. :param pulumi.Input[_builtins.str] public_ip: The public IP of the network. - :param pulumi.Input[_builtins.str] region: Can only be used when experimental "network" is set. - The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] routed: If set to `true`, the network is routed and therefore accessible from other networks. - :param pulumi.Input[_builtins.str] routing_table_id: Can only be used when experimental "network" is set. - The ID of the routing table associated with the network. + :param pulumi.Input[_builtins.str] routing_table_id: The ID of the routing table associated with the network. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -1058,7 +1046,6 @@ def public_ip(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def region(self) -> pulumi.Output[_builtins.str]: """ - Can only be used when experimental "network" is set. The resource region. If not defined, the provider region is used. """ return pulumi.get(self, "region") @@ -1075,7 +1062,6 @@ def routed(self) -> pulumi.Output[_builtins.bool]: @pulumi.getter(name="routingTableId") def routing_table_id(self) -> pulumi.Output[_builtins.str]: """ - Can only be used when experimental "network" is set. The ID of the routing table associated with the network. """ return pulumi.get(self, "routing_table_id") diff --git a/sdk/python/pulumi_stackit/network_area.py b/sdk/python/pulumi_stackit/network_area.py index b2d1ca8..e598632 100644 --- a/sdk/python/pulumi_stackit/network_area.py +++ b/sdk/python/pulumi_stackit/network_area.py @@ -21,54 +21,62 @@ @pulumi.input_type class NetworkAreaArgs: def __init__(__self__, *, - network_ranges: pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]], organization_id: pulumi.Input[_builtins.str], - transfer_network: pulumi.Input[_builtins.str], default_nameservers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, default_prefix_length: Optional[pulumi.Input[_builtins.int]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, max_prefix_length: Optional[pulumi.Input[_builtins.int]] = None, min_prefix_length: Optional[pulumi.Input[_builtins.int]] = None, - name: Optional[pulumi.Input[_builtins.str]] = None): + name: Optional[pulumi.Input[_builtins.str]] = None, + network_ranges: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]] = None, + transfer_network: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a NetworkArea resource. - :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR). - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :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.int] max_prefix_length: The maximal prefix length for networks in the network area. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. + :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. + :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. + :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ - pulumi.set(__self__, "network_ranges", network_ranges) pulumi.set(__self__, "organization_id", organization_id) - pulumi.set(__self__, "transfer_network", transfer_network) + if default_nameservers is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""default_nameservers is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if default_nameservers is not None: pulumi.set(__self__, "default_nameservers", default_nameservers) + if default_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""default_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if default_prefix_length is not None: pulumi.set(__self__, "default_prefix_length", default_prefix_length) if labels is not None: pulumi.set(__self__, "labels", labels) + if max_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""max_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if max_prefix_length is not None: pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""min_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if min_prefix_length is not None: pulumi.set(__self__, "min_prefix_length", min_prefix_length) if name is not None: pulumi.set(__self__, "name", name) - - @_builtins.property - @pulumi.getter(name="networkRanges") - def network_ranges(self) -> pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]: - """ - List of Network ranges. - """ - return pulumi.get(self, "network_ranges") - - @network_ranges.setter - def network_ranges(self, value: pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]): - pulumi.set(self, "network_ranges", value) + if network_ranges is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""network_ranges is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + if network_ranges is not None: + pulumi.set(__self__, "network_ranges", network_ranges) + if transfer_network is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""transfer_network is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + if transfer_network is not None: + pulumi.set(__self__, "transfer_network", transfer_network) @_builtins.property @pulumi.getter(name="organizationId") @@ -82,23 +90,12 @@ def organization_id(self) -> pulumi.Input[_builtins.str]: def organization_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "organization_id", value) - @_builtins.property - @pulumi.getter(name="transferNetwork") - def transfer_network(self) -> pulumi.Input[_builtins.str]: - """ - Classless Inter-Domain Routing (CIDR). - """ - return pulumi.get(self, "transfer_network") - - @transfer_network.setter - def transfer_network(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "transfer_network", value) - @_builtins.property @pulumi.getter(name="defaultNameservers") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - List of DNS Servers/Nameservers. + List of DNS Servers/Nameservers for configuration of network area for region `eu01`. """ return pulumi.get(self, "default_nameservers") @@ -108,9 +105,10 @@ def default_nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @_builtins.property @pulumi.getter(name="defaultPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The default prefix length for networks in the network area. + The default prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "default_prefix_length") @@ -132,9 +130,10 @@ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtin @_builtins.property @pulumi.getter(name="maxPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def max_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The maximal prefix length for networks in the network area. + The maximal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "max_prefix_length") @@ -144,9 +143,10 @@ def max_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="minPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def min_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The minimal prefix length for networks in the network area. + The minimal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "min_prefix_length") @@ -166,6 +166,32 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", value) + @_builtins.property + @pulumi.getter(name="networkRanges") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def network_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]: + """ + List of Network ranges for configuration of network area for region `eu01`. + """ + return pulumi.get(self, "network_ranges") + + @network_ranges.setter + def network_ranges(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]): + pulumi.set(self, "network_ranges", value) + + @_builtins.property + @pulumi.getter(name="transferNetwork") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def transfer_network(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. + """ + return pulumi.get(self, "transfer_network") + + @transfer_network.setter + def transfer_network(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "transfer_network", value) + @pulumi.input_type class _NetworkAreaState: @@ -183,46 +209,65 @@ def __init__(__self__, *, transfer_network: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering NetworkArea resources. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :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.int] max_prefix_length: The maximal prefix length for networks in the network area. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. + :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. :param pulumi.Input[_builtins.str] network_area_id: The network area ID. - :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges. + :param pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. :param pulumi.Input[_builtins.int] project_count: The amount of projects currently referencing this area. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR). + :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ + if default_nameservers is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""default_nameservers is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if default_nameservers is not None: pulumi.set(__self__, "default_nameservers", default_nameservers) + if default_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""default_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if default_prefix_length is not None: pulumi.set(__self__, "default_prefix_length", default_prefix_length) if labels is not None: pulumi.set(__self__, "labels", labels) + if max_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""max_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if max_prefix_length is not None: pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""min_prefix_length is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if min_prefix_length is not None: pulumi.set(__self__, "min_prefix_length", min_prefix_length) if name is not None: pulumi.set(__self__, "name", name) if network_area_id is not None: pulumi.set(__self__, "network_area_id", network_area_id) + if network_ranges is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""network_ranges is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if network_ranges is not None: pulumi.set(__self__, "network_ranges", network_ranges) if organization_id is not None: pulumi.set(__self__, "organization_id", organization_id) if project_count is not None: pulumi.set(__self__, "project_count", project_count) + if transfer_network is not None: + warnings.warn("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""", DeprecationWarning) + pulumi.log.warn("""transfer_network is deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") if transfer_network is not None: pulumi.set(__self__, "transfer_network", transfer_network) @_builtins.property @pulumi.getter(name="defaultNameservers") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_nameservers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - List of DNS Servers/Nameservers. + List of DNS Servers/Nameservers for configuration of network area for region `eu01`. """ return pulumi.get(self, "default_nameservers") @@ -232,9 +277,10 @@ def default_nameservers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input @_builtins.property @pulumi.getter(name="defaultPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The default prefix length for networks in the network area. + The default prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "default_prefix_length") @@ -256,9 +302,10 @@ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtin @_builtins.property @pulumi.getter(name="maxPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def max_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The maximal prefix length for networks in the network area. + The maximal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "max_prefix_length") @@ -268,9 +315,10 @@ def max_prefix_length(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="minPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def min_prefix_length(self) -> Optional[pulumi.Input[_builtins.int]]: """ - The minimal prefix length for networks in the network area. + The minimal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "min_prefix_length") @@ -304,9 +352,10 @@ def network_area_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="networkRanges") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def network_ranges(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NetworkAreaNetworkRangeArgs']]]]: """ - List of Network ranges. + List of Network ranges for configuration of network area for region `eu01`. """ return pulumi.get(self, "network_ranges") @@ -340,9 +389,10 @@ def project_count(self, value: Optional[pulumi.Input[_builtins.int]]): @_builtins.property @pulumi.getter(name="transferNetwork") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def transfer_network(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Classless Inter-Domain Routing (CIDR). + Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ return pulumi.get(self, "transfer_network") @@ -368,21 +418,21 @@ def __init__(__self__, transfer_network: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Network area resource schema. Must have a `region` specified in the provider configuration. + Network area resource schema. ## 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]]] default_nameservers: List of DNS Servers/Nameservers. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :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.int] max_prefix_length: The maximal prefix length for networks in the network area. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. + :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. - :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR). + :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ ... @overload @@ -391,7 +441,7 @@ def __init__(__self__, args: NetworkAreaArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Network area resource schema. Must have a `region` specified in the provider configuration. + Network area resource schema. ## Example Usage @@ -434,14 +484,10 @@ def _internal_init(__self__, __props__.__dict__["max_prefix_length"] = max_prefix_length __props__.__dict__["min_prefix_length"] = min_prefix_length __props__.__dict__["name"] = name - if network_ranges is None and not opts.urn: - raise TypeError("Missing required property 'network_ranges'") __props__.__dict__["network_ranges"] = network_ranges if organization_id is None and not opts.urn: raise TypeError("Missing required property 'organization_id'") __props__.__dict__["organization_id"] = organization_id - if transfer_network is None and not opts.urn: - raise TypeError("Missing required property 'transfer_network'") __props__.__dict__["transfer_network"] = transfer_network __props__.__dict__["network_area_id"] = None __props__.__dict__["project_count"] = None @@ -473,17 +519,17 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers. - :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] default_nameservers: List of DNS Servers/Nameservers for configuration of network area for region `eu01`. + :param pulumi.Input[_builtins.int] default_prefix_length: The default prefix length for networks in the network area for region `eu01`. :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.int] max_prefix_length: The maximal prefix length for networks in the network area. - :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area. + :param pulumi.Input[_builtins.int] max_prefix_length: The maximal prefix length for networks in the network area for region `eu01`. + :param pulumi.Input[_builtins.int] min_prefix_length: The minimal prefix length for networks in the network area for region `eu01`. :param pulumi.Input[_builtins.str] name: The name of the network area. :param pulumi.Input[_builtins.str] network_area_id: The network area ID. - :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges. + :param pulumi.Input[Sequence[pulumi.Input[Union['NetworkAreaNetworkRangeArgs', 'NetworkAreaNetworkRangeArgsDict']]]] network_ranges: List of Network ranges for configuration of network area for region `eu01`. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. :param pulumi.Input[_builtins.int] project_count: The amount of projects currently referencing this area. - :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR). + :param pulumi.Input[_builtins.str] transfer_network: Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -504,17 +550,19 @@ def get(resource_name: str, @_builtins.property @pulumi.getter(name="defaultNameservers") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_nameservers(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: """ - List of DNS Servers/Nameservers. + List of DNS Servers/Nameservers for configuration of network area for region `eu01`. """ return pulumi.get(self, "default_nameservers") @_builtins.property @pulumi.getter(name="defaultPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def default_prefix_length(self) -> pulumi.Output[_builtins.int]: """ - The default prefix length for networks in the network area. + The default prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "default_prefix_length") @@ -528,17 +576,19 @@ def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: @_builtins.property @pulumi.getter(name="maxPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def max_prefix_length(self) -> pulumi.Output[_builtins.int]: """ - The maximal prefix length for networks in the network area. + The maximal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "max_prefix_length") @_builtins.property @pulumi.getter(name="minPrefixLength") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def min_prefix_length(self) -> pulumi.Output[_builtins.int]: """ - The minimal prefix length for networks in the network area. + The minimal prefix length for networks in the network area for region `eu01`. """ return pulumi.get(self, "min_prefix_length") @@ -560,9 +610,10 @@ def network_area_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="networkRanges") - def network_ranges(self) -> pulumi.Output[Sequence['outputs.NetworkAreaNetworkRange']]: + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def network_ranges(self) -> pulumi.Output[Optional[Sequence['outputs.NetworkAreaNetworkRange']]]: """ - List of Network ranges. + List of Network ranges for configuration of network area for region `eu01`. """ return pulumi.get(self, "network_ranges") @@ -584,9 +635,10 @@ def project_count(self) -> pulumi.Output[_builtins.int]: @_builtins.property @pulumi.getter(name="transferNetwork") - def transfer_network(self) -> pulumi.Output[_builtins.str]: + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") + def transfer_network(self) -> pulumi.Output[Optional[_builtins.str]]: """ - Classless Inter-Domain Routing (CIDR). + Classless Inter-Domain Routing (CIDR) for configuration of network area for region `eu01`. """ return pulumi.get(self, "transfer_network") diff --git a/sdk/python/pulumi_stackit/network_area_region.py b/sdk/python/pulumi_stackit/network_area_region.py new file mode 100644 index 0000000..c1e7954 --- /dev/null +++ b/sdk/python/pulumi_stackit/network_area_region.py @@ -0,0 +1,301 @@ +# 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 +from ._inputs import * + +__all__ = ['NetworkAreaRegionArgs', 'NetworkAreaRegion'] + +@pulumi.input_type +class NetworkAreaRegionArgs: + def __init__(__self__, *, + ipv4: pulumi.Input['NetworkAreaRegionIpv4Args'], + network_area_id: pulumi.Input[_builtins.str], + organization_id: pulumi.Input[_builtins.str], + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a NetworkAreaRegion resource. + :param pulumi.Input['NetworkAreaRegionIpv4Args'] ipv4: The regional IPv4 config of a network area. + :param pulumi.Input[_builtins.str] network_area_id: The network area ID. + :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "ipv4", ipv4) + pulumi.set(__self__, "network_area_id", network_area_id) + pulumi.set(__self__, "organization_id", organization_id) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def ipv4(self) -> pulumi.Input['NetworkAreaRegionIpv4Args']: + """ + The regional IPv4 config of a network area. + """ + return pulumi.get(self, "ipv4") + + @ipv4.setter + def ipv4(self, value: pulumi.Input['NetworkAreaRegionIpv4Args']): + pulumi.set(self, "ipv4", value) + + @_builtins.property + @pulumi.getter(name="networkAreaId") + def network_area_id(self) -> pulumi.Input[_builtins.str]: + """ + The network area ID. + """ + return pulumi.get(self, "network_area_id") + + @network_area_id.setter + def network_area_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "network_area_id", value) + + @_builtins.property + @pulumi.getter(name="organizationId") + def organization_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT organization ID to which the network area is associated. + """ + return pulumi.get(self, "organization_id") + + @organization_id.setter + def organization_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "organization_id", 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 _NetworkAreaRegionState: + def __init__(__self__, *, + ipv4: Optional[pulumi.Input['NetworkAreaRegionIpv4Args']] = None, + network_area_id: Optional[pulumi.Input[_builtins.str]] = None, + organization_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + Input properties used for looking up and filtering NetworkAreaRegion resources. + :param pulumi.Input['NetworkAreaRegionIpv4Args'] ipv4: The regional IPv4 config of a network area. + :param pulumi.Input[_builtins.str] network_area_id: The network area ID. + :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + if ipv4 is not None: + pulumi.set(__self__, "ipv4", ipv4) + if network_area_id is not None: + pulumi.set(__self__, "network_area_id", network_area_id) + if organization_id is not None: + pulumi.set(__self__, "organization_id", organization_id) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def ipv4(self) -> Optional[pulumi.Input['NetworkAreaRegionIpv4Args']]: + """ + The regional IPv4 config of a network area. + """ + return pulumi.get(self, "ipv4") + + @ipv4.setter + def ipv4(self, value: Optional[pulumi.Input['NetworkAreaRegionIpv4Args']]): + pulumi.set(self, "ipv4", value) + + @_builtins.property + @pulumi.getter(name="networkAreaId") + def network_area_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The network area ID. + """ + return pulumi.get(self, "network_area_id") + + @network_area_id.setter + def network_area_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "network_area_id", value) + + @_builtins.property + @pulumi.getter(name="organizationId") + def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT organization ID to which the network area is associated. + """ + return pulumi.get(self, "organization_id") + + @organization_id.setter + def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "organization_id", 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/networkAreaRegion:NetworkAreaRegion") +class NetworkAreaRegion(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + ipv4: Optional[pulumi.Input[Union['NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict']]] = None, + network_area_id: Optional[pulumi.Input[_builtins.str]] = None, + organization_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + __props__=None): + """ + Network area region resource schema. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict']] ipv4: The regional IPv4 config of a network area. + :param pulumi.Input[_builtins.str] network_area_id: The network area ID. + :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. + :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: NetworkAreaRegionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Network area region resource schema. + + ## Example Usage + + :param str resource_name: The name of the resource. + :param NetworkAreaRegionArgs 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(NetworkAreaRegionArgs, 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, + ipv4: Optional[pulumi.Input[Union['NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict']]] = None, + network_area_id: Optional[pulumi.Input[_builtins.str]] = None, + organization_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__ = NetworkAreaRegionArgs.__new__(NetworkAreaRegionArgs) + + if ipv4 is None and not opts.urn: + raise TypeError("Missing required property 'ipv4'") + __props__.__dict__["ipv4"] = ipv4 + if network_area_id is None and not opts.urn: + raise TypeError("Missing required property 'network_area_id'") + __props__.__dict__["network_area_id"] = network_area_id + if organization_id is None and not opts.urn: + raise TypeError("Missing required property 'organization_id'") + __props__.__dict__["organization_id"] = organization_id + __props__.__dict__["region"] = region + super(NetworkAreaRegion, __self__).__init__( + 'stackit:index/networkAreaRegion:NetworkAreaRegion', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + ipv4: Optional[pulumi.Input[Union['NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict']]] = None, + network_area_id: Optional[pulumi.Input[_builtins.str]] = None, + organization_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'NetworkAreaRegion': + """ + Get an existing NetworkAreaRegion 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[Union['NetworkAreaRegionIpv4Args', 'NetworkAreaRegionIpv4ArgsDict']] ipv4: The regional IPv4 config of a network area. + :param pulumi.Input[_builtins.str] network_area_id: The network area ID. + :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. + :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__ = _NetworkAreaRegionState.__new__(_NetworkAreaRegionState) + + __props__.__dict__["ipv4"] = ipv4 + __props__.__dict__["network_area_id"] = network_area_id + __props__.__dict__["organization_id"] = organization_id + __props__.__dict__["region"] = region + return NetworkAreaRegion(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def ipv4(self) -> pulumi.Output['outputs.NetworkAreaRegionIpv4']: + """ + The regional IPv4 config of a network area. + """ + return pulumi.get(self, "ipv4") + + @_builtins.property + @pulumi.getter(name="networkAreaId") + def network_area_id(self) -> pulumi.Output[_builtins.str]: + """ + The network area ID. + """ + return pulumi.get(self, "network_area_id") + + @_builtins.property + @pulumi.getter(name="organizationId") + def organization_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT organization ID to which the network area is associated. + """ + return pulumi.get(self, "organization_id") + + @_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/network_area_route.py b/sdk/python/pulumi_stackit/network_area_route.py index 8101637..6808406 100644 --- a/sdk/python/pulumi_stackit/network_area_route.py +++ b/sdk/python/pulumi_stackit/network_area_route.py @@ -13,31 +13,49 @@ else: from typing_extensions import NotRequired, TypedDict, TypeAlias from . import _utilities +from . import outputs +from ._inputs import * __all__ = ['NetworkAreaRouteArgs', 'NetworkAreaRoute'] @pulumi.input_type class NetworkAreaRouteArgs: def __init__(__self__, *, + destination: pulumi.Input['NetworkAreaRouteDestinationArgs'], network_area_id: pulumi.Input[_builtins.str], - next_hop: pulumi.Input[_builtins.str], + next_hop: pulumi.Input['NetworkAreaRouteNextHopArgs'], organization_id: pulumi.Input[_builtins.str], - prefix: pulumi.Input[_builtins.str], - labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None): + labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a NetworkAreaRoute resource. + :param pulumi.Input['NetworkAreaRouteDestinationArgs'] destination: Destination of the route. :param pulumi.Input[_builtins.str] network_area_id: The network area ID to which the network area route is associated. - :param pulumi.Input[_builtins.str] next_hop: The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + :param pulumi.Input['NetworkAreaRouteNextHopArgs'] next_hop: Next hop destination. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] prefix: The network, that is reachable though the Next Hop. Should use CIDR notation. :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] region: The resource region. If not defined, the provider region is used. """ + pulumi.set(__self__, "destination", destination) pulumi.set(__self__, "network_area_id", network_area_id) pulumi.set(__self__, "next_hop", next_hop) pulumi.set(__self__, "organization_id", organization_id) - pulumi.set(__self__, "prefix", prefix) if labels is not None: pulumi.set(__self__, "labels", labels) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def destination(self) -> pulumi.Input['NetworkAreaRouteDestinationArgs']: + """ + Destination of the route. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: pulumi.Input['NetworkAreaRouteDestinationArgs']): + pulumi.set(self, "destination", value) @_builtins.property @pulumi.getter(name="networkAreaId") @@ -53,14 +71,14 @@ def network_area_id(self, value: pulumi.Input[_builtins.str]): @_builtins.property @pulumi.getter(name="nextHop") - def next_hop(self) -> pulumi.Input[_builtins.str]: + def next_hop(self) -> pulumi.Input['NetworkAreaRouteNextHopArgs']: """ - The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + Next hop destination. """ return pulumi.get(self, "next_hop") @next_hop.setter - def next_hop(self, value: pulumi.Input[_builtins.str]): + def next_hop(self, value: pulumi.Input['NetworkAreaRouteNextHopArgs']): pulumi.set(self, "next_hop", value) @_builtins.property @@ -75,18 +93,6 @@ def organization_id(self) -> pulumi.Input[_builtins.str]: def organization_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "organization_id", value) - @_builtins.property - @pulumi.getter - def prefix(self) -> pulumi.Input[_builtins.str]: - """ - The network, that is reachable though the Next Hop. Should use CIDR notation. - """ - return pulumi.get(self, "prefix") - - @prefix.setter - def prefix(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "prefix", value) - @_builtins.property @pulumi.getter def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]: @@ -99,25 +105,41 @@ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.st def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]): pulumi.set(self, "labels", 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 _NetworkAreaRouteState: def __init__(__self__, *, + destination: Optional[pulumi.Input['NetworkAreaRouteDestinationArgs']] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, network_area_route_id: Optional[pulumi.Input[_builtins.str]] = None, - next_hop: Optional[pulumi.Input[_builtins.str]] = None, + next_hop: Optional[pulumi.Input['NetworkAreaRouteNextHopArgs']] = None, organization_id: Optional[pulumi.Input[_builtins.str]] = None, - prefix: Optional[pulumi.Input[_builtins.str]] = None): + region: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering NetworkAreaRoute resources. + :param pulumi.Input['NetworkAreaRouteDestinationArgs'] destination: Destination of the route. :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] network_area_id: The network area ID to which the network area route is associated. :param pulumi.Input[_builtins.str] network_area_route_id: The network area route ID. - :param pulumi.Input[_builtins.str] next_hop: The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + :param pulumi.Input['NetworkAreaRouteNextHopArgs'] next_hop: Next hop destination. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] prefix: The network, that is reachable though the Next Hop. Should use CIDR notation. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ + if destination is not None: + pulumi.set(__self__, "destination", destination) if labels is not None: pulumi.set(__self__, "labels", labels) if network_area_id is not None: @@ -128,8 +150,20 @@ def __init__(__self__, *, pulumi.set(__self__, "next_hop", next_hop) if organization_id is not None: pulumi.set(__self__, "organization_id", organization_id) - if prefix is not None: - pulumi.set(__self__, "prefix", prefix) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def destination(self) -> Optional[pulumi.Input['NetworkAreaRouteDestinationArgs']]: + """ + Destination of the route. + """ + return pulumi.get(self, "destination") + + @destination.setter + def destination(self, value: Optional[pulumi.Input['NetworkAreaRouteDestinationArgs']]): + pulumi.set(self, "destination", value) @_builtins.property @pulumi.getter @@ -169,14 +203,14 @@ def network_area_route_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter(name="nextHop") - def next_hop(self) -> Optional[pulumi.Input[_builtins.str]]: + def next_hop(self) -> Optional[pulumi.Input['NetworkAreaRouteNextHopArgs']]: """ - The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + Next hop destination. """ return pulumi.get(self, "next_hop") @next_hop.setter - def next_hop(self, value: Optional[pulumi.Input[_builtins.str]]): + def next_hop(self, value: Optional[pulumi.Input['NetworkAreaRouteNextHopArgs']]): pulumi.set(self, "next_hop", value) @_builtins.property @@ -193,15 +227,15 @@ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]): @_builtins.property @pulumi.getter - def prefix(self) -> Optional[pulumi.Input[_builtins.str]]: + def region(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The network, that is reachable though the Next Hop. Should use CIDR notation. + The resource region. If not defined, the provider region is used. """ - return pulumi.get(self, "prefix") + return pulumi.get(self, "region") - @prefix.setter - def prefix(self, value: Optional[pulumi.Input[_builtins.str]]): - pulumi.set(self, "prefix", value) + @region.setter + def region(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "region", value) @pulumi.type_token("stackit:index/networkAreaRoute:NetworkAreaRoute") @@ -210,24 +244,23 @@ class NetworkAreaRoute(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + destination: Optional[pulumi.Input[Union['NetworkAreaRouteDestinationArgs', 'NetworkAreaRouteDestinationArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, - next_hop: Optional[pulumi.Input[_builtins.str]] = None, + next_hop: Optional[pulumi.Input[Union['NetworkAreaRouteNextHopArgs', 'NetworkAreaRouteNextHopArgsDict']]] = None, organization_id: Optional[pulumi.Input[_builtins.str]] = None, - prefix: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Network area route resource schema. Must have a `region` specified in the provider configuration. - - ## Example Usage - + Create a NetworkAreaRoute 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[Union['NetworkAreaRouteDestinationArgs', 'NetworkAreaRouteDestinationArgsDict']] destination: Destination of the route. :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] network_area_id: The network area ID to which the network area route is associated. - :param pulumi.Input[_builtins.str] next_hop: The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + :param pulumi.Input[Union['NetworkAreaRouteNextHopArgs', 'NetworkAreaRouteNextHopArgsDict']] next_hop: Next hop destination. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] prefix: The network, that is reachable though the Next Hop. Should use CIDR notation. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -236,10 +269,7 @@ def __init__(__self__, args: NetworkAreaRouteArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Network area route resource schema. Must have a `region` specified in the provider configuration. - - ## Example Usage - + Create a NetworkAreaRoute resource with the given unique name, props, and options. :param str resource_name: The name of the resource. :param NetworkAreaRouteArgs args: The arguments to use to populate this resource's properties. :param pulumi.ResourceOptions opts: Options for the resource. @@ -255,11 +285,12 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + destination: Optional[pulumi.Input[Union['NetworkAreaRouteDestinationArgs', 'NetworkAreaRouteDestinationArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, - next_hop: Optional[pulumi.Input[_builtins.str]] = None, + next_hop: Optional[pulumi.Input[Union['NetworkAreaRouteNextHopArgs', 'NetworkAreaRouteNextHopArgsDict']]] = None, organization_id: Optional[pulumi.Input[_builtins.str]] = None, - prefix: 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): @@ -269,6 +300,9 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = NetworkAreaRouteArgs.__new__(NetworkAreaRouteArgs) + if destination is None and not opts.urn: + raise TypeError("Missing required property 'destination'") + __props__.__dict__["destination"] = destination __props__.__dict__["labels"] = labels if network_area_id is None and not opts.urn: raise TypeError("Missing required property 'network_area_id'") @@ -279,9 +313,7 @@ def _internal_init(__self__, if organization_id is None and not opts.urn: raise TypeError("Missing required property 'organization_id'") __props__.__dict__["organization_id"] = organization_id - if prefix is None and not opts.urn: - raise TypeError("Missing required property 'prefix'") - __props__.__dict__["prefix"] = prefix + __props__.__dict__["region"] = region __props__.__dict__["network_area_route_id"] = None super(NetworkAreaRoute, __self__).__init__( 'stackit:index/networkAreaRoute:NetworkAreaRoute', @@ -293,12 +325,13 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + destination: Optional[pulumi.Input[Union['NetworkAreaRouteDestinationArgs', 'NetworkAreaRouteDestinationArgsDict']]] = None, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_area_id: Optional[pulumi.Input[_builtins.str]] = None, network_area_route_id: Optional[pulumi.Input[_builtins.str]] = None, - next_hop: Optional[pulumi.Input[_builtins.str]] = None, + next_hop: Optional[pulumi.Input[Union['NetworkAreaRouteNextHopArgs', 'NetworkAreaRouteNextHopArgsDict']]] = None, organization_id: Optional[pulumi.Input[_builtins.str]] = None, - prefix: Optional[pulumi.Input[_builtins.str]] = None) -> 'NetworkAreaRoute': + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'NetworkAreaRoute': """ Get an existing NetworkAreaRoute resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -306,25 +339,35 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['NetworkAreaRouteDestinationArgs', 'NetworkAreaRouteDestinationArgsDict']] destination: Destination of the route. :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] network_area_id: The network area ID to which the network area route is associated. :param pulumi.Input[_builtins.str] network_area_route_id: The network area route ID. - :param pulumi.Input[_builtins.str] next_hop: The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + :param pulumi.Input[Union['NetworkAreaRouteNextHopArgs', 'NetworkAreaRouteNextHopArgsDict']] next_hop: Next hop destination. :param pulumi.Input[_builtins.str] organization_id: STACKIT organization ID to which the network area is associated. - :param pulumi.Input[_builtins.str] prefix: The network, that is reachable though the Next Hop. Should use CIDR notation. + :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__ = _NetworkAreaRouteState.__new__(_NetworkAreaRouteState) + __props__.__dict__["destination"] = destination __props__.__dict__["labels"] = labels __props__.__dict__["network_area_id"] = network_area_id __props__.__dict__["network_area_route_id"] = network_area_route_id __props__.__dict__["next_hop"] = next_hop __props__.__dict__["organization_id"] = organization_id - __props__.__dict__["prefix"] = prefix + __props__.__dict__["region"] = region return NetworkAreaRoute(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter + def destination(self) -> pulumi.Output['outputs.NetworkAreaRouteDestination']: + """ + Destination of the route. + """ + return pulumi.get(self, "destination") + @_builtins.property @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: @@ -351,9 +394,9 @@ def network_area_route_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter(name="nextHop") - def next_hop(self) -> pulumi.Output[_builtins.str]: + def next_hop(self) -> pulumi.Output['outputs.NetworkAreaRouteNextHop']: """ - The IP address of the routing system, that will route the prefix configured. Should be a valid IPv4 address. + Next hop destination. """ return pulumi.get(self, "next_hop") @@ -367,9 +410,9 @@ def organization_id(self) -> pulumi.Output[_builtins.str]: @_builtins.property @pulumi.getter - def prefix(self) -> pulumi.Output[_builtins.str]: + def region(self) -> pulumi.Output[_builtins.str]: """ - The network, that is reachable though the Next Hop. Should use CIDR notation. + The resource region. If not defined, the provider region is used. """ - return pulumi.get(self, "prefix") + return pulumi.get(self, "region") diff --git a/sdk/python/pulumi_stackit/network_interface.py b/sdk/python/pulumi_stackit/network_interface.py index 87cbae0..9da06a0 100644 --- a/sdk/python/pulumi_stackit/network_interface.py +++ b/sdk/python/pulumi_stackit/network_interface.py @@ -25,6 +25,7 @@ def __init__(__self__, *, ipv4: Optional[pulumi.Input[_builtins.str]] = 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, security: Optional[pulumi.Input[_builtins.bool]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None): """ @@ -35,6 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ipv4: The IPv4 address. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a network interface. :param pulumi.Input[_builtins.str] name: The name of the network interface. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] security: The Network Interface Security. If set to false, then no security groups will apply to this network interface. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: The list of security group UUIDs. If security is set to false, setting this field will lead to an error. """ @@ -48,6 +50,8 @@ def __init__(__self__, *, pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) if security is not None: pulumi.set(__self__, "security", security) if security_group_ids is not None: @@ -125,6 +129,18 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", 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 security(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -162,6 +178,7 @@ def __init__(__self__, *, network_id: Optional[pulumi.Input[_builtins.str]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security: Optional[pulumi.Input[_builtins.bool]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, type: Optional[pulumi.Input[_builtins.str]] = None): @@ -176,6 +193,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] network_id: The network ID to which the network interface is associated. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] security: The Network Interface Security. If set to false, then no security groups will apply to this network interface. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: The list of security group UUIDs. If security is set to false, setting this field will lead to an error. :param pulumi.Input[_builtins.str] type: Type of network interface. Some of the possible values are: Possible values are: `server`, `metadata`, `gateway`. @@ -198,6 +216,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_interface_id", network_interface_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 security is not None: pulumi.set(__self__, "security", security) if security_group_ids is not None: @@ -313,6 +333,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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 security(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -362,6 +394,7 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, network_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security: Optional[pulumi.Input[_builtins.bool]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): @@ -378,6 +411,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] name: The name of the network interface. :param pulumi.Input[_builtins.str] network_id: The network ID to which the network interface is associated. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] security: The Network Interface Security. If set to false, then no security groups will apply to this network interface. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: The list of security group UUIDs. If security is set to false, setting this field will lead to an error. """ @@ -413,6 +447,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, network_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security: Optional[pulumi.Input[_builtins.bool]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, __props__=None): @@ -434,6 +469,7 @@ def _internal_init(__self__, 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__["security"] = security __props__.__dict__["security_group_ids"] = security_group_ids __props__.__dict__["device"] = None @@ -459,6 +495,7 @@ def get(resource_name: str, network_id: Optional[pulumi.Input[_builtins.str]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security: Optional[pulumi.Input[_builtins.bool]] = None, security_group_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, type: Optional[pulumi.Input[_builtins.str]] = None) -> 'NetworkInterface': @@ -478,6 +515,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] network_id: The network ID to which the network interface is associated. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] security: The Network Interface Security. If set to false, then no security groups will apply to this network interface. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] security_group_ids: The list of security group UUIDs. If security is set to false, setting this field will lead to an error. :param pulumi.Input[_builtins.str] type: Type of network interface. Some of the possible values are: Possible values are: `server`, `metadata`, `gateway`. @@ -495,6 +533,7 @@ def get(resource_name: str, __props__.__dict__["network_id"] = network_id __props__.__dict__["network_interface_id"] = network_interface_id __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["security"] = security __props__.__dict__["security_group_ids"] = security_group_ids __props__.__dict__["type"] = type @@ -572,6 +611,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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 security(self) -> pulumi.Output[_builtins.bool]: diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index 1b542b6..b893014 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -42,6 +42,10 @@ 'MongodbflexInstanceOptions', 'MongodbflexInstanceStorage', 'NetworkAreaNetworkRange', + 'NetworkAreaRegionIpv4', + 'NetworkAreaRegionIpv4NetworkRange', + 'NetworkAreaRouteDestination', + 'NetworkAreaRouteNextHop', 'ObservabilityAlertgroupRule', 'ObservabilityInstanceAlertConfig', 'ObservabilityInstanceAlertConfigGlobal', @@ -67,6 +71,7 @@ 'SecurityGroupRuleProtocol', 'ServerBackupScheduleBackupProperties', 'ServerBootVolume', + 'SfsExportPolicyRule', 'SkeClusterExtensions', 'SkeClusterExtensionsAcl', 'SkeClusterExtensionsArgus', @@ -110,6 +115,10 @@ 'GetMongodbflexInstanceOptionsResult', 'GetMongodbflexInstanceStorageResult', 'GetNetworkAreaNetworkRangeResult', + 'GetNetworkAreaRegionIpv4Result', + 'GetNetworkAreaRegionIpv4NetworkRangeResult', + 'GetNetworkAreaRouteDestinationResult', + 'GetNetworkAreaRouteNextHopResult', 'GetObservabilityAlertgroupRuleResult', 'GetObservabilityInstanceAlertConfigResult', 'GetObservabilityInstanceAlertConfigGlobalResult', @@ -143,6 +152,8 @@ 'GetServerBackupSchedulesItemBackupPropertiesResult', 'GetServerBootVolumeResult', 'GetServerUpdateSchedulesItemResult', + 'GetSfsExportPolicyRuleResult', + 'GetSfsResourcePoolSnapshotSnapshotResult', 'GetSkeClusterExtensionsResult', 'GetSkeClusterExtensionsAclResult', 'GetSkeClusterExtensionsArgusResult', @@ -1966,6 +1977,7 @@ def __init__(__self__, *, @_builtins.property @pulumi.getter + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def prefix(self) -> _builtins.str: """ Classless Inter-Domain Routing (CIDR). @@ -1974,10 +1986,217 @@ def prefix(self) -> _builtins.str: @_builtins.property @pulumi.getter(name="networkRangeId") + @_utilities.deprecated("""Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead.""") def network_range_id(self) -> Optional[_builtins.str]: return pulumi.get(self, "network_range_id") +@pulumi.output_type +class NetworkAreaRegionIpv4(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkRanges": + suggest = "network_ranges" + elif key == "transferNetwork": + suggest = "transfer_network" + elif key == "defaultNameservers": + suggest = "default_nameservers" + elif key == "defaultPrefixLength": + suggest = "default_prefix_length" + elif key == "maxPrefixLength": + suggest = "max_prefix_length" + elif key == "minPrefixLength": + suggest = "min_prefix_length" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkAreaRegionIpv4. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkAreaRegionIpv4.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkAreaRegionIpv4.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + network_ranges: Sequence['outputs.NetworkAreaRegionIpv4NetworkRange'], + transfer_network: _builtins.str, + default_nameservers: Optional[Sequence[_builtins.str]] = None, + default_prefix_length: Optional[_builtins.int] = None, + max_prefix_length: Optional[_builtins.int] = None, + min_prefix_length: Optional[_builtins.int] = None): + """ + :param Sequence['NetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. + :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. + :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. + :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. + :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. + """ + pulumi.set(__self__, "network_ranges", network_ranges) + pulumi.set(__self__, "transfer_network", transfer_network) + if default_nameservers is not None: + pulumi.set(__self__, "default_nameservers", default_nameservers) + if default_prefix_length is not None: + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + if max_prefix_length is not None: + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + if min_prefix_length is not None: + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + + @_builtins.property + @pulumi.getter(name="networkRanges") + def network_ranges(self) -> Sequence['outputs.NetworkAreaRegionIpv4NetworkRange']: + """ + List of Network ranges. + """ + return pulumi.get(self, "network_ranges") + + @_builtins.property + @pulumi.getter(name="transferNetwork") + def transfer_network(self) -> _builtins.str: + """ + IPv4 Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "transfer_network") + + @_builtins.property + @pulumi.getter(name="defaultNameservers") + def default_nameservers(self) -> Optional[Sequence[_builtins.str]]: + """ + List of DNS Servers/Nameservers. + """ + return pulumi.get(self, "default_nameservers") + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> Optional[_builtins.int]: + """ + The default prefix length for networks in the network area. + """ + return pulumi.get(self, "default_prefix_length") + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> Optional[_builtins.int]: + """ + The maximal prefix length for networks in the network area. + """ + return pulumi.get(self, "max_prefix_length") + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> Optional[_builtins.int]: + """ + The minimal prefix length for networks in the network area. + """ + return pulumi.get(self, "min_prefix_length") + + +@pulumi.output_type +class NetworkAreaRegionIpv4NetworkRange(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "networkRangeId": + suggest = "network_range_id" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in NetworkAreaRegionIpv4NetworkRange. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + NetworkAreaRegionIpv4NetworkRange.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + NetworkAreaRegionIpv4NetworkRange.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + prefix: _builtins.str, + network_range_id: Optional[_builtins.str] = None): + """ + :param _builtins.str prefix: Classless Inter-Domain Routing (CIDR). + """ + pulumi.set(__self__, "prefix", prefix) + if network_range_id is not None: + pulumi.set(__self__, "network_range_id", network_range_id) + + @_builtins.property + @pulumi.getter + def prefix(self) -> _builtins.str: + """ + Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "prefix") + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> Optional[_builtins.str]: + return pulumi.get(self, "network_range_id") + + +@pulumi.output_type +class NetworkAreaRouteDestination(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + :param _builtins.str value: An CIDR string. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + An CIDR string. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class NetworkAreaRouteNextHop(dict): + def __init__(__self__, *, + type: _builtins.str, + value: Optional[_builtins.str] = None): + """ + :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + """ + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> Optional[_builtins.str]: + """ + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + """ + return pulumi.get(self, "value") + + @pulumi.output_type class ObservabilityAlertgroupRule(dict): @staticmethod @@ -4125,6 +4344,106 @@ def size(self) -> Optional[_builtins.int]: return pulumi.get(self, "size") +@pulumi.output_type +class SfsExportPolicyRule(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "ipAcls": + suggest = "ip_acls" + elif key == "readOnly": + suggest = "read_only" + elif key == "setUuid": + suggest = "set_uuid" + elif key == "superUser": + suggest = "super_user" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in SfsExportPolicyRule. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + SfsExportPolicyRule.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + SfsExportPolicyRule.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + ip_acls: Sequence[_builtins.str], + order: _builtins.int, + description: Optional[_builtins.str] = None, + read_only: Optional[_builtins.bool] = None, + set_uuid: Optional[_builtins.bool] = None, + super_user: Optional[_builtins.bool] = None): + """ + :param Sequence[_builtins.str] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param _builtins.int order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + :param _builtins.str description: Description of the Rule + :param _builtins.bool read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param _builtins.bool set_uuid: Flag to honor set UUID + :param _builtins.bool super_user: Flag to indicate if client IPs matching this rule have root access on the Share + """ + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "order", order) + if description is not None: + pulumi.set(__self__, "description", description) + if read_only is not None: + pulumi.set(__self__, "read_only", read_only) + if set_uuid is not None: + pulumi.set(__self__, "set_uuid", set_uuid) + if super_user is not None: + pulumi.set(__self__, "super_user", super_user) + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> Sequence[_builtins.str]: + """ + IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @_builtins.property + @pulumi.getter + def order(self) -> _builtins.int: + """ + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + """ + return pulumi.get(self, "order") + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + Description of the Rule + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="readOnly") + def read_only(self) -> Optional[_builtins.bool]: + """ + Flag to indicate if client IPs matching this rule can only mount the share in read only mode + """ + return pulumi.get(self, "read_only") + + @_builtins.property + @pulumi.getter(name="setUuid") + def set_uuid(self) -> Optional[_builtins.bool]: + """ + Flag to honor set UUID + """ + return pulumi.get(self, "set_uuid") + + @_builtins.property + @pulumi.getter(name="superUser") + def super_user(self) -> Optional[_builtins.bool]: + """ + Flag to indicate if client IPs matching this rule have root access on the Share + """ + return pulumi.get(self, "super_user") + + @pulumi.output_type class SkeClusterExtensions(dict): def __init__(__self__, *, @@ -4421,8 +4740,8 @@ def __init__(__self__, *, """ :param _builtins.str end: Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. :param _builtins.str start: Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. - :param _builtins.bool enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). - :param _builtins.bool enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param _builtins.bool enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param _builtins.bool enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ pulumi.set(__self__, "end", end) pulumi.set(__self__, "start", start) @@ -4451,7 +4770,7 @@ def start(self) -> _builtins.str: @pulumi.getter(name="enableKubernetesVersionUpdates") def enable_kubernetes_version_updates(self) -> Optional[_builtins.bool]: """ - Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "enable_kubernetes_version_updates") @@ -4459,7 +4778,7 @@ def enable_kubernetes_version_updates(self) -> Optional[_builtins.bool]: @pulumi.getter(name="enableMachineImageVersionUpdates") def enable_machine_image_version_updates(self) -> Optional[_builtins.bool]: """ - Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "enable_machine_image_version_updates") @@ -4553,8 +4872,8 @@ def __init__(__self__, *, :param _builtins.int max_unavailable: Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. :param _builtins.str os_name: The name of the OS image. Defaults to `flatcar`. :param _builtins.str os_version: This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. - :param _builtins.str os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param _builtins.str os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). :param Sequence['SkeClusterNodePoolTaintArgs'] taints: Specifies a taint list as defined below. :param _builtins.int volume_size: The volume size in GB. Defaults to `20` :param _builtins.str volume_type: Specifies the volume type. Defaults to `storage_premium_perf1`. @@ -4690,7 +5009,7 @@ def os_version(self) -> Optional[_builtins.str]: @pulumi.getter(name="osVersionMin") def os_version_min(self) -> Optional[_builtins.str]: """ - The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ return pulumi.get(self, "os_version_min") @@ -4698,7 +5017,7 @@ def os_version_min(self) -> Optional[_builtins.str]: @pulumi.getter(name="osVersionUsed") def os_version_used(self) -> Optional[_builtins.str]: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "os_version_used") @@ -6422,6 +6741,162 @@ def prefix(self) -> _builtins.str: return pulumi.get(self, "prefix") +@pulumi.output_type +class GetNetworkAreaRegionIpv4Result(dict): + def __init__(__self__, *, + default_nameservers: Sequence[_builtins.str], + default_prefix_length: _builtins.int, + max_prefix_length: _builtins.int, + min_prefix_length: _builtins.int, + network_ranges: Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult'], + transfer_network: _builtins.str): + """ + :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. + :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. + :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. + :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. + :param Sequence['GetNetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. + :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + """ + pulumi.set(__self__, "default_nameservers", default_nameservers) + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + pulumi.set(__self__, "network_ranges", network_ranges) + pulumi.set(__self__, "transfer_network", transfer_network) + + @_builtins.property + @pulumi.getter(name="defaultNameservers") + def default_nameservers(self) -> Sequence[_builtins.str]: + """ + List of DNS Servers/Nameservers. + """ + return pulumi.get(self, "default_nameservers") + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> _builtins.int: + """ + The default prefix length for networks in the network area. + """ + return pulumi.get(self, "default_prefix_length") + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> _builtins.int: + """ + The maximal prefix length for networks in the network area. + """ + return pulumi.get(self, "max_prefix_length") + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> _builtins.int: + """ + The minimal prefix length for networks in the network area. + """ + return pulumi.get(self, "min_prefix_length") + + @_builtins.property + @pulumi.getter(name="networkRanges") + def network_ranges(self) -> Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult']: + """ + List of Network ranges. + """ + return pulumi.get(self, "network_ranges") + + @_builtins.property + @pulumi.getter(name="transferNetwork") + def transfer_network(self) -> _builtins.str: + """ + IPv4 Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "transfer_network") + + +@pulumi.output_type +class GetNetworkAreaRegionIpv4NetworkRangeResult(dict): + def __init__(__self__, *, + network_range_id: _builtins.str, + prefix: _builtins.str): + """ + :param _builtins.str prefix: Classless Inter-Domain Routing (CIDR). + """ + pulumi.set(__self__, "network_range_id", network_range_id) + pulumi.set(__self__, "prefix", prefix) + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> _builtins.str: + return pulumi.get(self, "network_range_id") + + @_builtins.property + @pulumi.getter + def prefix(self) -> _builtins.str: + """ + Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "prefix") + + +@pulumi.output_type +class GetNetworkAreaRouteDestinationResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + :param _builtins.str value: An CIDR string. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + An CIDR string. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetNetworkAreaRouteNextHopResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + Either IPv4 or IPv6 (not set for blackhole and internet). + """ + return pulumi.get(self, "value") + + @pulumi.output_type class GetObservabilityAlertgroupRuleResult(dict): def __init__(__self__, *, @@ -8384,6 +8859,153 @@ def update_schedule_id(self) -> _builtins.int: return pulumi.get(self, "update_schedule_id") +@pulumi.output_type +class GetSfsExportPolicyRuleResult(dict): + def __init__(__self__, *, + ip_acls: Sequence[_builtins.str], + order: _builtins.int, + read_only: _builtins.bool, + set_uuid: _builtins.bool, + super_user: _builtins.bool, + description: Optional[_builtins.str] = None): + """ + :param Sequence[_builtins.str] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param _builtins.int order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + :param _builtins.bool read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param _builtins.bool set_uuid: Flag to honor set UUID + :param _builtins.bool super_user: Flag to indicate if client IPs matching this rule have root access on the Share + :param _builtins.str description: Description of the Rule + """ + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "order", order) + pulumi.set(__self__, "read_only", read_only) + pulumi.set(__self__, "set_uuid", set_uuid) + pulumi.set(__self__, "super_user", super_user) + if description is not None: + pulumi.set(__self__, "description", description) + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> Sequence[_builtins.str]: + """ + IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @_builtins.property + @pulumi.getter + def order(self) -> _builtins.int: + """ + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + """ + return pulumi.get(self, "order") + + @_builtins.property + @pulumi.getter(name="readOnly") + def read_only(self) -> _builtins.bool: + """ + Flag to indicate if client IPs matching this rule can only mount the share in read only mode + """ + return pulumi.get(self, "read_only") + + @_builtins.property + @pulumi.getter(name="setUuid") + def set_uuid(self) -> _builtins.bool: + """ + Flag to honor set UUID + """ + return pulumi.get(self, "set_uuid") + + @_builtins.property + @pulumi.getter(name="superUser") + def super_user(self) -> _builtins.bool: + """ + Flag to indicate if client IPs matching this rule have root access on the Share + """ + return pulumi.get(self, "super_user") + + @_builtins.property + @pulumi.getter + def description(self) -> Optional[_builtins.str]: + """ + Description of the Rule + """ + return pulumi.get(self, "description") + + +@pulumi.output_type +class GetSfsResourcePoolSnapshotSnapshotResult(dict): + def __init__(__self__, *, + comment: _builtins.str, + created_at: _builtins.str, + logical_size_gigabytes: _builtins.int, + resource_pool_id: _builtins.str, + size_gigabytes: _builtins.int, + snapshot_name: _builtins.str): + """ + :param _builtins.str comment: (optional) A comment to add more information about a snapshot + :param _builtins.str created_at: creation date of the snapshot + :param _builtins.int logical_size_gigabytes: Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + :param _builtins.str resource_pool_id: ID of the Resource Pool of the Snapshot + :param _builtins.int size_gigabytes: Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + :param _builtins.str snapshot_name: Name of the Resource Pool Snapshot + """ + pulumi.set(__self__, "comment", comment) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "logical_size_gigabytes", logical_size_gigabytes) + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + pulumi.set(__self__, "size_gigabytes", size_gigabytes) + pulumi.set(__self__, "snapshot_name", snapshot_name) + + @_builtins.property + @pulumi.getter + def comment(self) -> _builtins.str: + """ + (optional) A comment to add more information about a snapshot + """ + return pulumi.get(self, "comment") + + @_builtins.property + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: + """ + creation date of the snapshot + """ + return pulumi.get(self, "created_at") + + @_builtins.property + @pulumi.getter(name="logicalSizeGigabytes") + def logical_size_gigabytes(self) -> _builtins.int: + """ + Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + """ + return pulumi.get(self, "logical_size_gigabytes") + + @_builtins.property + @pulumi.getter(name="resourcePoolId") + def resource_pool_id(self) -> _builtins.str: + """ + ID of the Resource Pool of the Snapshot + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter(name="sizeGigabytes") + def size_gigabytes(self) -> _builtins.int: + """ + Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + """ + return pulumi.get(self, "size_gigabytes") + + @_builtins.property + @pulumi.getter(name="snapshotName") + def snapshot_name(self) -> _builtins.str: + """ + Name of the Resource Pool Snapshot + """ + return pulumi.get(self, "snapshot_name") + + @pulumi.output_type class GetSkeClusterExtensionsResult(dict): def __init__(__self__, *, @@ -8694,8 +9316,8 @@ def __init__(__self__, *, :param _builtins.str name: Specifies the name of the node pool. :param _builtins.str os_name: The name of the OS image. :param _builtins.str os_version: The OS image version. - :param _builtins.str os_version_min: The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param _builtins.str os_version_min: The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). :param Sequence['GetSkeClusterNodePoolTaintArgs'] taints: Specifies a taint list as defined below. :param _builtins.int volume_size: The volume size in GB. :param _builtins.str volume_type: Specifies the volume type. @@ -8818,7 +9440,7 @@ def os_version(self) -> _builtins.str: @pulumi.getter(name="osVersionMin") def os_version_min(self) -> _builtins.str: """ - The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ return pulumi.get(self, "os_version_min") @@ -8826,7 +9448,7 @@ def os_version_min(self) -> _builtins.str: @pulumi.getter(name="osVersionUsed") def os_version_used(self) -> _builtins.str: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "os_version_used") diff --git a/sdk/python/pulumi_stackit/provider.py b/sdk/python/pulumi_stackit/provider.py index 646cb35..244ea11 100644 --- a/sdk/python/pulumi_stackit/provider.py +++ b/sdk/python/pulumi_stackit/provider.py @@ -54,6 +54,7 @@ def __init__(__self__, *, service_account_key_path: Optional[pulumi.Input[_builtins.str]] = None, service_account_token: Optional[pulumi.Input[_builtins.str]] = None, service_enablement_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + sfs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, ske_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, sqlserverflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, token_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None): @@ -94,6 +95,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] service_account_key_path: Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations. :param pulumi.Input[_builtins.str] service_account_token: Token used for authentication. If set, the token flow will be used to authenticate all operations. :param pulumi.Input[_builtins.str] service_enablement_custom_endpoint: Custom endpoint for the Service Enablement API + :param pulumi.Input[_builtins.str] sfs_custom_endpoint: Custom endpoint for the Stackit Filestorage API :param pulumi.Input[_builtins.str] ske_custom_endpoint: Custom endpoint for the Kubernetes Engine (SKE) service :param pulumi.Input[_builtins.str] sqlserverflex_custom_endpoint: Custom endpoint for the SQL Server Flex service :param pulumi.Input[_builtins.str] token_custom_endpoint: Custom endpoint for the token API, which is used to request access tokens when using the key flow @@ -171,12 +173,14 @@ def __init__(__self__, *, if service_account_key_path is not None: pulumi.set(__self__, "service_account_key_path", service_account_key_path) if service_account_token is not None: - warnings.warn("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html""", DeprecationWarning) - pulumi.log.warn("""service_account_token is deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html""") + warnings.warn("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/""", DeprecationWarning) + pulumi.log.warn("""service_account_token is deprecated: Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/""") if service_account_token is not None: pulumi.set(__self__, "service_account_token", service_account_token) if service_enablement_custom_endpoint is not None: pulumi.set(__self__, "service_enablement_custom_endpoint", service_enablement_custom_endpoint) + if sfs_custom_endpoint is not None: + pulumi.set(__self__, "sfs_custom_endpoint", sfs_custom_endpoint) if ske_custom_endpoint is not None: pulumi.set(__self__, "ske_custom_endpoint", ske_custom_endpoint) if sqlserverflex_custom_endpoint is not None: @@ -584,7 +588,7 @@ def service_account_key_path(self, value: Optional[pulumi.Input[_builtins.str]]) @_builtins.property @pulumi.getter(name="serviceAccountToken") - @_utilities.deprecated("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html""") + @_utilities.deprecated("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/""") def service_account_token(self) -> Optional[pulumi.Input[_builtins.str]]: """ Token used for authentication. If set, the token flow will be used to authenticate all operations. @@ -607,6 +611,18 @@ def service_enablement_custom_endpoint(self) -> Optional[pulumi.Input[_builtins. def service_enablement_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "service_enablement_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="sfsCustomEndpoint") + def sfs_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Custom endpoint for the Stackit Filestorage API + """ + return pulumi.get(self, "sfs_custom_endpoint") + + @sfs_custom_endpoint.setter + def sfs_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "sfs_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="skeCustomEndpoint") def ske_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -685,6 +701,7 @@ def __init__(__self__, service_account_key_path: Optional[pulumi.Input[_builtins.str]] = None, service_account_token: Optional[pulumi.Input[_builtins.str]] = None, service_enablement_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + sfs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, ske_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, sqlserverflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, token_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -732,6 +749,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] service_account_key_path: Path for the service account key used for authentication. If set, the key flow will be used to authenticate all operations. :param pulumi.Input[_builtins.str] service_account_token: Token used for authentication. If set, the token flow will be used to authenticate all operations. :param pulumi.Input[_builtins.str] service_enablement_custom_endpoint: Custom endpoint for the Service Enablement API + :param pulumi.Input[_builtins.str] sfs_custom_endpoint: Custom endpoint for the Stackit Filestorage API :param pulumi.Input[_builtins.str] ske_custom_endpoint: Custom endpoint for the Kubernetes Engine (SKE) service :param pulumi.Input[_builtins.str] sqlserverflex_custom_endpoint: Custom endpoint for the SQL Server Flex service :param pulumi.Input[_builtins.str] token_custom_endpoint: Custom endpoint for the token API, which is used to request access tokens when using the key flow @@ -798,6 +816,7 @@ def _internal_init(__self__, service_account_key_path: Optional[pulumi.Input[_builtins.str]] = None, service_account_token: Optional[pulumi.Input[_builtins.str]] = None, service_enablement_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, + sfs_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, ske_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, sqlserverflex_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, token_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None, @@ -845,6 +864,7 @@ def _internal_init(__self__, __props__.__dict__["service_account_key_path"] = service_account_key_path __props__.__dict__["service_account_token"] = service_account_token __props__.__dict__["service_enablement_custom_endpoint"] = service_enablement_custom_endpoint + __props__.__dict__["sfs_custom_endpoint"] = sfs_custom_endpoint __props__.__dict__["ske_custom_endpoint"] = ske_custom_endpoint __props__.__dict__["sqlserverflex_custom_endpoint"] = sqlserverflex_custom_endpoint __props__.__dict__["token_custom_endpoint"] = token_custom_endpoint @@ -1106,7 +1126,7 @@ def service_account_key_path(self) -> pulumi.Output[Optional[_builtins.str]]: @_builtins.property @pulumi.getter(name="serviceAccountToken") - @_utilities.deprecated("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html""") + @_utilities.deprecated("""Authentication via Service Account Token is deprecated and will be removed on December 17, 2025. Please use `service_account_key` or `service_account_key_path` instead. For a smooth transition, refer to our migration guide: https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/""") def service_account_token(self) -> pulumi.Output[Optional[_builtins.str]]: """ Token used for authentication. If set, the token flow will be used to authenticate all operations. @@ -1121,6 +1141,14 @@ def service_enablement_custom_endpoint(self) -> pulumi.Output[Optional[_builtins """ return pulumi.get(self, "service_enablement_custom_endpoint") + @_builtins.property + @pulumi.getter(name="sfsCustomEndpoint") + def sfs_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Stackit Filestorage API + """ + return pulumi.get(self, "sfs_custom_endpoint") + @_builtins.property @pulumi.getter(name="skeCustomEndpoint") def ske_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: diff --git a/sdk/python/pulumi_stackit/public_ip.py b/sdk/python/pulumi_stackit/public_ip.py index e6d64d0..3c879cb 100644 --- a/sdk/python/pulumi_stackit/public_ip.py +++ b/sdk/python/pulumi_stackit/public_ip.py @@ -21,17 +21,21 @@ class PublicIpArgs: def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - network_interface_id: Optional[pulumi.Input[_builtins.str]] = None): + network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a PublicIp resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the public IP is associated. :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] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "project_id", project_id) if labels is not None: pulumi.set(__self__, "labels", labels) if network_interface_id is not None: pulumi.set(__self__, "network_interface_id", network_interface_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="projectId") @@ -66,6 +70,18 @@ def network_interface_id(self) -> Optional[pulumi.Input[_builtins.str]]: def network_interface_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "network_interface_id", 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 _PublicIpState: @@ -74,13 +90,15 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, - public_ip_id: Optional[pulumi.Input[_builtins.str]] = None): + public_ip_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering PublicIp resources. :param pulumi.Input[_builtins.str] ip: The IP address. :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] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ if ip is not None: pulumi.set(__self__, "ip", ip) @@ -92,6 +110,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if public_ip_id is not None: pulumi.set(__self__, "public_ip_id", public_ip_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter @@ -150,6 +170,18 @@ def public_ip_id(self) -> Optional[pulumi.Input[_builtins.str]]: def public_ip_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "public_ip_id", 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/publicIp:PublicIp") class PublicIp(pulumi.CustomResource): @@ -160,6 +192,7 @@ def __init__(__self__, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Public IP resource schema. Must have a `region` specified in the provider configuration. @@ -170,6 +203,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :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] project_id: STACKIT project ID to which the public IP is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -200,6 +234,7 @@ def _internal_init(__self__, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_interface_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): @@ -214,6 +249,7 @@ def _internal_init(__self__, 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__["ip"] = None __props__.__dict__["public_ip_id"] = None super(PublicIp, __self__).__init__( @@ -230,7 +266,8 @@ def get(resource_name: str, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, - public_ip_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'PublicIp': + public_ip_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'PublicIp': """ Get an existing PublicIp resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -242,6 +279,7 @@ def get(resource_name: str, :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] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :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)) @@ -252,6 +290,7 @@ def get(resource_name: str, __props__.__dict__["network_interface_id"] = network_interface_id __props__.__dict__["project_id"] = project_id __props__.__dict__["public_ip_id"] = public_ip_id + __props__.__dict__["region"] = region return PublicIp(resource_name, opts=opts, __props__=__props__) @_builtins.property @@ -291,3 +330,11 @@ def public_ip_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "public_ip_id") + @_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/public_ip_associate.py b/sdk/python/pulumi_stackit/public_ip_associate.py index ff57d6d..099e913 100644 --- a/sdk/python/pulumi_stackit/public_ip_associate.py +++ b/sdk/python/pulumi_stackit/public_ip_associate.py @@ -21,16 +21,20 @@ class PublicIpAssociateArgs: def __init__(__self__, *, network_interface_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], - public_ip_id: pulumi.Input[_builtins.str]): + public_ip_id: pulumi.Input[_builtins.str], + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a PublicIpAssociate resource. :param pulumi.Input[_builtins.str] network_interface_id: The ID of the network interface (or virtual IP) to which the public IP should be attached to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "network_interface_id", network_interface_id) pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "public_ip_id", public_ip_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="networkInterfaceId") @@ -68,6 +72,18 @@ def public_ip_id(self) -> pulumi.Input[_builtins.str]: def public_ip_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "public_ip_id", 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 _PublicIpAssociateState: @@ -75,13 +91,15 @@ def __init__(__self__, *, ip: Optional[pulumi.Input[_builtins.str]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, - public_ip_id: Optional[pulumi.Input[_builtins.str]] = None): + public_ip_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering PublicIpAssociate resources. :param pulumi.Input[_builtins.str] ip: The IP address. :param pulumi.Input[_builtins.str] network_interface_id: The ID of the network interface (or virtual IP) to which the public IP should be attached to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ if ip is not None: pulumi.set(__self__, "ip", ip) @@ -91,6 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if public_ip_id is not None: pulumi.set(__self__, "public_ip_id", public_ip_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter @@ -140,6 +160,18 @@ def public_ip_id(self) -> Optional[pulumi.Input[_builtins.str]]: def public_ip_id(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "public_ip_id", 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/publicIpAssociate:PublicIpAssociate") class PublicIpAssociate(pulumi.CustomResource): @@ -150,6 +182,7 @@ def __init__(__self__, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, public_ip_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ Associates an existing public IP to a network interface. This is useful for situations where you have a pre-allocated public IP or unable to use the `PublicIp` resource to create a new public IP. Must have a `region` specified in the provider configuration. @@ -164,6 +197,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] network_interface_id: The ID of the network interface (or virtual IP) to which the public IP should be attached to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ ... @overload @@ -197,6 +231,7 @@ def _internal_init(__self__, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, public_ip_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): @@ -215,6 +250,7 @@ def _internal_init(__self__, if public_ip_id is None and not opts.urn: raise TypeError("Missing required property 'public_ip_id'") __props__.__dict__["public_ip_id"] = public_ip_id + __props__.__dict__["region"] = region __props__.__dict__["ip"] = None super(PublicIpAssociate, __self__).__init__( 'stackit:index/publicIpAssociate:PublicIpAssociate', @@ -229,7 +265,8 @@ def get(resource_name: str, ip: Optional[pulumi.Input[_builtins.str]] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, - public_ip_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'PublicIpAssociate': + public_ip_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None) -> 'PublicIpAssociate': """ Get an existing PublicIpAssociate resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -241,6 +278,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] network_interface_id: The ID of the network interface (or virtual IP) to which the public IP should be attached to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the public IP is associated. :param pulumi.Input[_builtins.str] public_ip_id: The public IP ID. + :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)) @@ -250,6 +288,7 @@ def get(resource_name: str, __props__.__dict__["network_interface_id"] = network_interface_id __props__.__dict__["project_id"] = project_id __props__.__dict__["public_ip_id"] = public_ip_id + __props__.__dict__["region"] = region return PublicIpAssociate(resource_name, opts=opts, __props__=__props__) @_builtins.property @@ -284,3 +323,11 @@ def public_ip_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "public_ip_id") + @_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/security_group.py b/sdk/python/pulumi_stackit/security_group.py index bc03d9d..632eb2e 100644 --- a/sdk/python/pulumi_stackit/security_group.py +++ b/sdk/python/pulumi_stackit/security_group.py @@ -23,6 +23,7 @@ def __init__(__self__, *, description: Optional[pulumi.Input[_builtins.str]] = 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, stateful: Optional[pulumi.Input[_builtins.bool]] = None): """ The set of arguments for constructing a SecurityGroup resource. @@ -30,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] description: The description of the security group. :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 security group. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] stateful: Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. """ pulumi.set(__self__, "project_id", project_id) @@ -39,6 +41,8 @@ def __init__(__self__, *, pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) if stateful is not None: pulumi.set(__self__, "stateful", stateful) @@ -90,6 +94,18 @@ def name(self) -> Optional[pulumi.Input[_builtins.str]]: def name(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "name", 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 stateful(self) -> Optional[pulumi.Input[_builtins.bool]]: @@ -110,6 +126,7 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, stateful: Optional[pulumi.Input[_builtins.bool]] = None): """ @@ -118,6 +135,7 @@ def __init__(__self__, *, :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 security group. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] security_group_id: The security group ID. :param pulumi.Input[_builtins.bool] stateful: Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. """ @@ -129,6 +147,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if security_group_id is not None: pulumi.set(__self__, "security_group_id", security_group_id) if stateful is not None: @@ -182,6 +202,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="securityGroupId") def security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -217,6 +249,7 @@ def __init__(__self__, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, stateful: Optional[pulumi.Input[_builtins.bool]] = None, __props__=None): """ @@ -230,6 +263,7 @@ def __init__(__self__, :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 security group. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.bool] stateful: Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. """ ... @@ -262,6 +296,7 @@ def _internal_init(__self__, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, stateful: Optional[pulumi.Input[_builtins.bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -278,6 +313,7 @@ def _internal_init(__self__, 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__["stateful"] = stateful __props__.__dict__["security_group_id"] = None super(SecurityGroup, __self__).__init__( @@ -294,6 +330,7 @@ def get(resource_name: str, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, stateful: Optional[pulumi.Input[_builtins.bool]] = None) -> 'SecurityGroup': """ @@ -307,6 +344,7 @@ def get(resource_name: str, :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 security group. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] security_group_id: The security group ID. :param pulumi.Input[_builtins.bool] stateful: Configures if a security group is stateful or stateless. There can only be one type of security groups per network interface/server. """ @@ -318,6 +356,7 @@ def get(resource_name: str, __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["security_group_id"] = security_group_id __props__.__dict__["stateful"] = stateful return SecurityGroup(resource_name, opts=opts, __props__=__props__) @@ -354,6 +393,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="securityGroupId") def security_group_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/security_group_rule.py b/sdk/python/pulumi_stackit/security_group_rule.py index c0ca3b6..4f2cb1c 100644 --- a/sdk/python/pulumi_stackit/security_group_rule.py +++ b/sdk/python/pulumi_stackit/security_group_rule.py @@ -30,6 +30,7 @@ def __init__(__self__, *, ip_range: Optional[pulumi.Input[_builtins.str]] = None, port_range: Optional[pulumi.Input['SecurityGroupRulePortRangeArgs']] = None, protocol: Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, remote_security_group_id: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a SecurityGroupRule resource. @@ -42,6 +43,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] ip_range: The remote IP range which the rule should match. :param pulumi.Input['SecurityGroupRulePortRangeArgs'] port_range: The range of ports. This should only be provided if the protocol is not ICMP. :param pulumi.Input['SecurityGroupRuleProtocolArgs'] protocol: The internet protocol which the rule should match. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] remote_security_group_id: The remote security group which the rule should match. """ pulumi.set(__self__, "direction", direction) @@ -59,6 +61,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port_range", port_range) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if region is not None: + pulumi.set(__self__, "region", region) if remote_security_group_id is not None: pulumi.set(__self__, "remote_security_group_id", remote_security_group_id) @@ -170,6 +174,18 @@ def protocol(self) -> Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']]: def protocol(self, value: Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']]): pulumi.set(self, "protocol", 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(name="remoteSecurityGroupId") def remote_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -194,6 +210,7 @@ def __init__(__self__, *, port_range: Optional[pulumi.Input['SecurityGroupRulePortRangeArgs']] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protocol: Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, remote_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_rule_id: Optional[pulumi.Input[_builtins.str]] = None): @@ -207,6 +224,7 @@ def __init__(__self__, *, :param pulumi.Input['SecurityGroupRulePortRangeArgs'] port_range: The range of ports. This should only be provided if the protocol is not ICMP. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group rule is associated. :param pulumi.Input['SecurityGroupRuleProtocolArgs'] protocol: The internet protocol which the rule should match. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] remote_security_group_id: The remote security group which the rule should match. :param pulumi.Input[_builtins.str] security_group_id: The security group ID. :param pulumi.Input[_builtins.str] security_group_rule_id: The security group rule ID. @@ -227,6 +245,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if protocol is not None: pulumi.set(__self__, "protocol", protocol) + if region is not None: + pulumi.set(__self__, "region", region) if remote_security_group_id is not None: pulumi.set(__self__, "remote_security_group_id", remote_security_group_id) if security_group_id is not None: @@ -330,6 +350,18 @@ def protocol(self) -> Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']]: def protocol(self, value: Optional[pulumi.Input['SecurityGroupRuleProtocolArgs']]): pulumi.set(self, "protocol", 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(name="remoteSecurityGroupId") def remote_security_group_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -381,6 +413,7 @@ def __init__(__self__, port_range: Optional[pulumi.Input[Union['SecurityGroupRulePortRangeArgs', 'SecurityGroupRulePortRangeArgsDict']]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protocol: Optional[pulumi.Input[Union['SecurityGroupRuleProtocolArgs', 'SecurityGroupRuleProtocolArgsDict']]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, remote_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -399,6 +432,7 @@ def __init__(__self__, :param pulumi.Input[Union['SecurityGroupRulePortRangeArgs', 'SecurityGroupRulePortRangeArgsDict']] port_range: The range of ports. This should only be provided if the protocol is not ICMP. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group rule is associated. :param pulumi.Input[Union['SecurityGroupRuleProtocolArgs', 'SecurityGroupRuleProtocolArgsDict']] protocol: The internet protocol which the rule should match. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] remote_security_group_id: The remote security group which the rule should match. :param pulumi.Input[_builtins.str] security_group_id: The security group ID. """ @@ -436,6 +470,7 @@ def _internal_init(__self__, port_range: Optional[pulumi.Input[Union['SecurityGroupRulePortRangeArgs', 'SecurityGroupRulePortRangeArgsDict']]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protocol: Optional[pulumi.Input[Union['SecurityGroupRuleProtocolArgs', 'SecurityGroupRuleProtocolArgsDict']]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, remote_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -459,6 +494,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["protocol"] = protocol + __props__.__dict__["region"] = region __props__.__dict__["remote_security_group_id"] = remote_security_group_id if security_group_id is None and not opts.urn: raise TypeError("Missing required property 'security_group_id'") @@ -482,6 +518,7 @@ def get(resource_name: str, port_range: Optional[pulumi.Input[Union['SecurityGroupRulePortRangeArgs', 'SecurityGroupRulePortRangeArgsDict']]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, protocol: Optional[pulumi.Input[Union['SecurityGroupRuleProtocolArgs', 'SecurityGroupRuleProtocolArgsDict']]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, remote_security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_id: Optional[pulumi.Input[_builtins.str]] = None, security_group_rule_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecurityGroupRule': @@ -500,6 +537,7 @@ def get(resource_name: str, :param pulumi.Input[Union['SecurityGroupRulePortRangeArgs', 'SecurityGroupRulePortRangeArgsDict']] port_range: The range of ports. This should only be provided if the protocol is not ICMP. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the security group rule is associated. :param pulumi.Input[Union['SecurityGroupRuleProtocolArgs', 'SecurityGroupRuleProtocolArgsDict']] protocol: The internet protocol which the rule should match. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] remote_security_group_id: The remote security group which the rule should match. :param pulumi.Input[_builtins.str] security_group_id: The security group ID. :param pulumi.Input[_builtins.str] security_group_rule_id: The security group rule ID. @@ -516,6 +554,7 @@ def get(resource_name: str, __props__.__dict__["port_range"] = port_range __props__.__dict__["project_id"] = project_id __props__.__dict__["protocol"] = protocol + __props__.__dict__["region"] = region __props__.__dict__["remote_security_group_id"] = remote_security_group_id __props__.__dict__["security_group_id"] = security_group_id __props__.__dict__["security_group_rule_id"] = security_group_rule_id @@ -585,6 +624,14 @@ def protocol(self) -> pulumi.Output['outputs.SecurityGroupRuleProtocol']: """ return pulumi.get(self, "protocol") + @_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(name="remoteSecurityGroupId") def remote_security_group_id(self) -> pulumi.Output[Optional[_builtins.str]]: diff --git a/sdk/python/pulumi_stackit/server.py b/sdk/python/pulumi_stackit/server.py index bfdfbdf..f150dc1 100644 --- a/sdk/python/pulumi_stackit/server.py +++ b/sdk/python/pulumi_stackit/server.py @@ -32,10 +32,11 @@ def __init__(__self__, *, labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: Optional[pulumi.Input[_builtins.str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, user_data: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a Server resource. - :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the server is associated. :param pulumi.Input[_builtins.str] affinity_group: The affinity group the server is assigned to. :param pulumi.Input[_builtins.str] availability_zone: The availability zone of the server. @@ -45,7 +46,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] keypair_name: The name of the keypair used during server creation. :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 server. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] user_data: User data that is passed via cloud-init to the server. """ pulumi.set(__self__, "machine_type", machine_type) @@ -68,6 +70,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if network_interfaces is not None: pulumi.set(__self__, "network_interfaces", network_interfaces) + if region is not None: + pulumi.set(__self__, "region", region) if user_data is not None: pulumi.set(__self__, "user_data", user_data) @@ -75,7 +79,7 @@ def __init__(__self__, *, @pulumi.getter(name="machineType") def machine_type(self) -> pulumi.Input[_builtins.str]: """ - Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) """ return pulumi.get(self, "machine_type") @@ -195,7 +199,7 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="networkInterfaces") def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** """ return pulumi.get(self, "network_interfaces") @@ -203,6 +207,18 @@ def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_bui def network_interfaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "network_interfaces", 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(name="userData") def user_data(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -232,6 +248,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, updated_at: Optional[pulumi.Input[_builtins.str]] = None, user_data: Optional[pulumi.Input[_builtins.str]] = None): @@ -246,10 +263,11 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] keypair_name: The name of the keypair used during server creation. :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] launched_at: Date-time when the server was launched - :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) :param pulumi.Input[_builtins.str] name: The name of the server. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the server is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] updated_at: Date-time when the server was updated :param pulumi.Input[_builtins.str] user_data: User data that is passed via cloud-init to the server. @@ -280,6 +298,8 @@ def __init__(__self__, *, pulumi.set(__self__, "network_interfaces", network_interfaces) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if server_id is not None: pulumi.set(__self__, "server_id", server_id) if updated_at is not None: @@ -399,7 +419,7 @@ def launched_at(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="machineType") def machine_type(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) """ return pulumi.get(self, "machine_type") @@ -423,7 +443,7 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="networkInterfaces") def network_interfaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: """ - The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** """ return pulumi.get(self, "network_interfaces") @@ -443,6 +463,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="serverId") def server_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -497,6 +529,7 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, user_data: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ @@ -527,10 +560,11 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] image_id: The image ID to be used for an ephemeral disk on the server. :param pulumi.Input[_builtins.str] keypair_name: The name of the keypair used during server creation. :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] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) :param pulumi.Input[_builtins.str] name: The name of the server. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the server is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] user_data: User data that is passed via cloud-init to the server. """ ... @@ -584,6 +618,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, user_data: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -609,6 +644,7 @@ def _internal_init(__self__, 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__["user_data"] = user_data __props__.__dict__["created_at"] = None __props__.__dict__["launched_at"] = None @@ -637,6 +673,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[_builtins.str]] = None, network_interfaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, updated_at: Optional[pulumi.Input[_builtins.str]] = None, user_data: Optional[pulumi.Input[_builtins.str]] = None) -> 'Server': @@ -656,10 +693,11 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] keypair_name: The name of the keypair used during server creation. :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] launched_at: Date-time when the server was launched - :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + :param pulumi.Input[_builtins.str] machine_type: Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) :param pulumi.Input[_builtins.str] name: The name of the server. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] network_interfaces: The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the server is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] updated_at: Date-time when the server was updated :param pulumi.Input[_builtins.str] user_data: User data that is passed via cloud-init to the server. @@ -681,6 +719,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["network_interfaces"] = network_interfaces __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["server_id"] = server_id __props__.__dict__["updated_at"] = updated_at __props__.__dict__["user_data"] = user_data @@ -762,7 +801,7 @@ def launched_at(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="machineType") def machine_type(self) -> pulumi.Output[_builtins.str]: """ - Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/stackit/en/virtual-machine-flavors-75137231.html) + Name of the type of the machine for the server. Possible values are documented in [Virtual machine flavors](https://docs.stackit.cloud/products/compute-engine/server/basics/machine-types/) """ return pulumi.get(self, "machine_type") @@ -778,7 +817,7 @@ def name(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="networkInterfaces") def network_interfaces(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]: """ - The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. + The IDs of network interfaces which should be attached to the server. Updating it will recreate the server. **Required when (re-)creating servers. Still marked as optional in the schema to not introduce breaking changes. There will be a migration path for this field soon.** """ return pulumi.get(self, "network_interfaces") @@ -790,6 +829,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="serverId") def server_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/server_network_interface_attach.py b/sdk/python/pulumi_stackit/server_network_interface_attach.py index df9a7c3..c5e2978 100644 --- a/sdk/python/pulumi_stackit/server_network_interface_attach.py +++ b/sdk/python/pulumi_stackit/server_network_interface_attach.py @@ -21,16 +21,20 @@ class ServerNetworkInterfaceAttachArgs: def __init__(__self__, *, network_interface_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], - server_id: pulumi.Input[_builtins.str]): + server_id: pulumi.Input[_builtins.str], + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a ServerNetworkInterfaceAttach resource. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network interface attachment is associated. :param pulumi.Input[_builtins.str] server_id: The server ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "network_interface_id", network_interface_id) pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "server_id", server_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="networkInterfaceId") @@ -68,23 +72,39 @@ def server_id(self) -> pulumi.Input[_builtins.str]: def server_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "server_id", 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 _ServerNetworkInterfaceAttachState: def __init__(__self__, *, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering ServerNetworkInterfaceAttach resources. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network interface attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. """ if network_interface_id is not None: pulumi.set(__self__, "network_interface_id", network_interface_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 server_id is not None: pulumi.set(__self__, "server_id", server_id) @@ -112,6 +132,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="serverId") def server_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -133,10 +165,11 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): """ - Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot. + Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot. ## Example Usage @@ -144,6 +177,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network interface attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. """ ... @@ -153,7 +187,7 @@ def __init__(__self__, args: ServerNetworkInterfaceAttachArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Network interface attachment resource schema. Attaches a network interface to a server. Must have a `region` specified in the provider configuration. The attachment only takes full effect after server reboot. + Network interface attachment resource schema. Attaches a network interface to a server. The attachment only takes full effect after server reboot. ## Example Usage @@ -174,6 +208,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -190,6 +225,7 @@ def _internal_init(__self__, 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 server_id is None and not opts.urn: raise TypeError("Missing required property 'server_id'") __props__.__dict__["server_id"] = server_id @@ -205,6 +241,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, network_interface_id: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ServerNetworkInterfaceAttach': """ Get an existing ServerNetworkInterfaceAttach resource's state with the given name, id, and optional extra @@ -215,6 +252,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] network_interface_id: The network interface ID. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the network interface attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -223,6 +261,7 @@ def get(resource_name: str, __props__.__dict__["network_interface_id"] = network_interface_id __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["server_id"] = server_id return ServerNetworkInterfaceAttach(resource_name, opts=opts, __props__=__props__) @@ -242,6 +281,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="serverId") def server_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/server_service_account_attach.py b/sdk/python/pulumi_stackit/server_service_account_attach.py index c617047..d04002f 100644 --- a/sdk/python/pulumi_stackit/server_service_account_attach.py +++ b/sdk/python/pulumi_stackit/server_service_account_attach.py @@ -21,16 +21,20 @@ class ServerServiceAccountAttachArgs: def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], server_id: pulumi.Input[_builtins.str], - service_account_email: pulumi.Input[_builtins.str]): + service_account_email: pulumi.Input[_builtins.str], + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a ServerServiceAccountAttach resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the service account attachment is associated. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] service_account_email: The service account email. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "server_id", server_id) pulumi.set(__self__, "service_account_email", service_account_email) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="projectId") @@ -68,21 +72,37 @@ def service_account_email(self) -> pulumi.Input[_builtins.str]: def service_account_email(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "service_account_email", 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 _ServerServiceAccountAttachState: def __init__(__self__, *, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, service_account_email: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering ServerServiceAccountAttach resources. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the service account attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] service_account_email: The service account email. """ if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if server_id is not None: pulumi.set(__self__, "server_id", server_id) if service_account_email is not None: @@ -100,6 +120,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="serverId") def server_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -132,6 +164,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, service_account_email: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -143,6 +176,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] project_id: STACKIT project ID to which the service account attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] service_account_email: The service account email. """ @@ -173,6 +207,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, service_account_email: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -187,6 +222,7 @@ def _internal_init(__self__, 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 server_id is None and not opts.urn: raise TypeError("Missing required property 'server_id'") __props__.__dict__["server_id"] = server_id @@ -204,6 +240,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, service_account_email: Optional[pulumi.Input[_builtins.str]] = None) -> 'ServerServiceAccountAttach': """ @@ -214,6 +251,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the service account attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] service_account_email: The service account email. """ @@ -222,6 +260,7 @@ def get(resource_name: str, __props__ = _ServerServiceAccountAttachState.__new__(_ServerServiceAccountAttachState) __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["server_id"] = server_id __props__.__dict__["service_account_email"] = service_account_email return ServerServiceAccountAttach(resource_name, opts=opts, __props__=__props__) @@ -234,6 +273,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="serverId") def server_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/server_volume_attach.py b/sdk/python/pulumi_stackit/server_volume_attach.py index 13fe75d..d241281 100644 --- a/sdk/python/pulumi_stackit/server_volume_attach.py +++ b/sdk/python/pulumi_stackit/server_volume_attach.py @@ -21,16 +21,20 @@ class ServerVolumeAttachArgs: def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], server_id: pulumi.Input[_builtins.str], - volume_id: pulumi.Input[_builtins.str]): + volume_id: pulumi.Input[_builtins.str], + region: Optional[pulumi.Input[_builtins.str]] = None): """ The set of arguments for constructing a ServerVolumeAttach resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume attachment is associated. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] volume_id: The volume ID. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "server_id", server_id) pulumi.set(__self__, "volume_id", volume_id) + if region is not None: + pulumi.set(__self__, "region", region) @_builtins.property @pulumi.getter(name="projectId") @@ -68,21 +72,37 @@ def volume_id(self) -> pulumi.Input[_builtins.str]: def volume_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "volume_id", 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 _ServerVolumeAttachState: def __init__(__self__, *, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, volume_id: Optional[pulumi.Input[_builtins.str]] = None): """ Input properties used for looking up and filtering ServerVolumeAttach resources. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] volume_id: The volume 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 server_id is not None: pulumi.set(__self__, "server_id", server_id) if volume_id is not None: @@ -100,6 +120,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="serverId") def server_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -132,6 +164,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, volume_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -143,6 +176,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] project_id: STACKIT project ID to which the volume attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] volume_id: The volume ID. """ @@ -173,6 +207,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, volume_id: Optional[pulumi.Input[_builtins.str]] = None, __props__=None): @@ -187,6 +222,7 @@ def _internal_init(__self__, 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 server_id is None and not opts.urn: raise TypeError("Missing required property 'server_id'") __props__.__dict__["server_id"] = server_id @@ -204,6 +240,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, volume_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ServerVolumeAttach': """ @@ -214,6 +251,7 @@ def get(resource_name: str, :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume attachment is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID. :param pulumi.Input[_builtins.str] volume_id: The volume ID. """ @@ -222,6 +260,7 @@ def get(resource_name: str, __props__ = _ServerVolumeAttachState.__new__(_ServerVolumeAttachState) __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["server_id"] = server_id __props__.__dict__["volume_id"] = volume_id return ServerVolumeAttach(resource_name, opts=opts, __props__=__props__) @@ -234,6 +273,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="serverId") def server_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/service_account_access_token.py b/sdk/python/pulumi_stackit/service_account_access_token.py index a56f4d1..394eaaf 100644 --- a/sdk/python/pulumi_stackit/service_account_access_token.py +++ b/sdk/python/pulumi_stackit/service_account_access_token.py @@ -252,7 +252,7 @@ def __init__(__self__, """ Service account access token schema. - !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations. + !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations. ## Example Usage @@ -274,7 +274,7 @@ def __init__(__self__, """ Service account access token schema. - !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/stackit/en/deprecation-plan-for-service-account-access-tokens-and-migration-guide-373293307.html for detailed instructions and recommendations. + !> This resource is scheduled for deprecation and will be removed on December 17, 2025. To ensure a smooth transition, please refer to our migration guide at https://docs.stackit.cloud/platform/access-and-identity/service-accounts/migrate-flows/ for detailed instructions and recommendations. ## Example Usage diff --git a/sdk/python/pulumi_stackit/sfs_export_policy.py b/sdk/python/pulumi_stackit/sfs_export_policy.py new file mode 100644 index 0000000..7cb7e96 --- /dev/null +++ b/sdk/python/pulumi_stackit/sfs_export_policy.py @@ -0,0 +1,318 @@ +# 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 +from ._inputs import * + +__all__ = ['SfsExportPolicyArgs', 'SfsExportPolicy'] + +@pulumi.input_type +class SfsExportPolicyArgs: + def __init__(__self__, *, + project_id: pulumi.Input[_builtins.str], + name: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]] = None): + """ + The set of arguments for constructing a SfsExportPolicy resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. + :param pulumi.Input[_builtins.str] name: Name of the export policy. + :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 name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if rules is not None: + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the export policy 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 name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the export policy. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def 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 rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]]: + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +@pulumi.input_type +class _SfsExportPolicyState: + def __init__(__self__, *, + name: Optional[pulumi.Input[_builtins.str]] = None, + policy_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]] = None): + """ + Input properties used for looking up and filtering SfsExportPolicy resources. + :param pulumi.Input[_builtins.str] name: Name of the export policy. + :param pulumi.Input[_builtins.str] policy_id: Export policy ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + if name is not None: + pulumi.set(__self__, "name", name) + if policy_id is not None: + pulumi.set(__self__, "policy_id", policy_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 rules is not None: + pulumi.set(__self__, "rules", rules) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the export policy. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="policyId") + def policy_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Export policy ID + """ + return pulumi.get(self, "policy_id") + + @policy_id.setter + def policy_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "policy_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the export policy 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]]: + """ + 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 rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]]: + return pulumi.get(self, "rules") + + @rules.setter + def rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]]): + pulumi.set(self, "rules", value) + + +@pulumi.type_token("stackit:index/sfsExportPolicy:SfsExportPolicy") +class SfsExportPolicy(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SfsExportPolicyRuleArgs', 'SfsExportPolicyRuleArgsDict']]]]] = None, + __props__=None): + """ + SFS export policy resource schema. Must have a `region` specified in the provider configuration. + + > 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] name: Name of the export policy. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. + :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: SfsExportPolicyArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + SFS export policy resource schema. Must have a `region` specified in the provider configuration. + + > 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 SfsExportPolicyArgs 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(SfsExportPolicyArgs, 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, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SfsExportPolicyRuleArgs', 'SfsExportPolicyRuleArgsDict']]]]] = 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__ = SfsExportPolicyArgs.__new__(SfsExportPolicyArgs) + + __props__.__dict__["name"] = 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 + __props__.__dict__["rules"] = rules + __props__.__dict__["policy_id"] = None + super(SfsExportPolicy, __self__).__init__( + 'stackit:index/sfsExportPolicy:SfsExportPolicy', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + policy_id: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SfsExportPolicyRuleArgs', 'SfsExportPolicyRuleArgsDict']]]]] = None) -> 'SfsExportPolicy': + """ + Get an existing SfsExportPolicy 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] name: Name of the export policy. + :param pulumi.Input[_builtins.str] policy_id: Export policy ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. + :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__ = _SfsExportPolicyState.__new__(_SfsExportPolicyState) + + __props__.__dict__["name"] = name + __props__.__dict__["policy_id"] = policy_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["rules"] = rules + return SfsExportPolicy(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the export policy. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="policyId") + def policy_id(self) -> pulumi.Output[_builtins.str]: + """ + Export policy ID + """ + return pulumi.get(self, "policy_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the export policy is associated. + """ + return pulumi.get(self, "project_id") + + @_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 rules(self) -> pulumi.Output[Sequence['outputs.SfsExportPolicyRule']]: + return pulumi.get(self, "rules") + diff --git a/sdk/python/pulumi_stackit/sfs_resource_pool.py b/sdk/python/pulumi_stackit/sfs_resource_pool.py new file mode 100644 index 0000000..34107c6 --- /dev/null +++ b/sdk/python/pulumi_stackit/sfs_resource_pool.py @@ -0,0 +1,521 @@ +# 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__ = ['SfsResourcePoolArgs', 'SfsResourcePool'] + +@pulumi.input_type +class SfsResourcePoolArgs: + def __init__(__self__, *, + availability_zone: pulumi.Input[_builtins.str], + ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + performance_class: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + size_gigabytes: pulumi.Input[_builtins.int], + name: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + snapshots_are_visible: Optional[pulumi.Input[_builtins.bool]] = None): + """ + The set of arguments for constructing a SfsResourcePool resource. + :param pulumi.Input[_builtins.str] availability_zone: Availability zone. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. + :param pulumi.Input[_builtins.int] size_gigabytes: Size of the resource pool (unit: gigabytes) + :param pulumi.Input[_builtins.str] name: Name of the resource pool. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.bool] snapshots_are_visible: If set to true, snapshots are visible and accessible to users. (default: false) + """ + pulumi.set(__self__, "availability_zone", availability_zone) + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "performance_class", performance_class) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "size_gigabytes", size_gigabytes) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if snapshots_are_visible is not None: + pulumi.set(__self__, "snapshots_are_visible", snapshots_are_visible) + + @_builtins.property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> pulumi.Input[_builtins.str]: + """ + Availability zone. + """ + return pulumi.get(self, "availability_zone") + + @availability_zone.setter + def availability_zone(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "availability_zone", value) + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @ip_acls.setter + def ip_acls(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "ip_acls", value) + + @_builtins.property + @pulumi.getter(name="performanceClass") + def performance_class(self) -> pulumi.Input[_builtins.str]: + """ + Name of the performance class. + """ + return pulumi.get(self, "performance_class") + + @performance_class.setter + def performance_class(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "performance_class", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the resource pool 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(name="sizeGigabytes") + def size_gigabytes(self) -> pulumi.Input[_builtins.int]: + """ + Size of the resource pool (unit: gigabytes) + """ + return pulumi.get(self, "size_gigabytes") + + @size_gigabytes.setter + def size_gigabytes(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "size_gigabytes", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the resource pool. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def 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(name="snapshotsAreVisible") + def snapshots_are_visible(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + If set to true, snapshots are visible and accessible to users. (default: false) + """ + return pulumi.get(self, "snapshots_are_visible") + + @snapshots_are_visible.setter + def snapshots_are_visible(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "snapshots_are_visible", value) + + +@pulumi.input_type +class _SfsResourcePoolState: + def __init__(__self__, *, + availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + ip_acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + performance_class: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + size_gigabytes: Optional[pulumi.Input[_builtins.int]] = None, + snapshots_are_visible: Optional[pulumi.Input[_builtins.bool]] = None): + """ + Input properties used for looking up and filtering SfsResourcePool resources. + :param pulumi.Input[_builtins.str] availability_zone: Availability zone. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.str] name: Name of the resource pool. + :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_pool_id: Resource pool ID + :param pulumi.Input[_builtins.int] size_gigabytes: Size of the resource pool (unit: gigabytes) + :param pulumi.Input[_builtins.bool] snapshots_are_visible: If set to true, snapshots are visible and accessible to users. (default: false) + """ + if availability_zone is not None: + pulumi.set(__self__, "availability_zone", availability_zone) + if ip_acls is not None: + pulumi.set(__self__, "ip_acls", ip_acls) + if name is not None: + pulumi.set(__self__, "name", name) + if performance_class is not None: + pulumi.set(__self__, "performance_class", performance_class) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if resource_pool_id is not None: + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + if size_gigabytes is not None: + pulumi.set(__self__, "size_gigabytes", size_gigabytes) + if snapshots_are_visible is not None: + pulumi.set(__self__, "snapshots_are_visible", snapshots_are_visible) + + @_builtins.property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Availability zone. + """ + return pulumi.get(self, "availability_zone") + + @availability_zone.setter + def availability_zone(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "availability_zone", value) + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @ip_acls.setter + def ip_acls(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "ip_acls", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the resource pool. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="performanceClass") + def performance_class(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the performance class. + """ + return pulumi.get(self, "performance_class") + + @performance_class.setter + def performance_class(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "performance_class", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the resource pool 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]]: + """ + 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(name="resourcePoolId") + def resource_pool_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Resource pool ID + """ + return pulumi.get(self, "resource_pool_id") + + @resource_pool_id.setter + def resource_pool_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_pool_id", value) + + @_builtins.property + @pulumi.getter(name="sizeGigabytes") + def size_gigabytes(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Size of the resource pool (unit: gigabytes) + """ + return pulumi.get(self, "size_gigabytes") + + @size_gigabytes.setter + def size_gigabytes(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "size_gigabytes", value) + + @_builtins.property + @pulumi.getter(name="snapshotsAreVisible") + def snapshots_are_visible(self) -> Optional[pulumi.Input[_builtins.bool]]: + """ + If set to true, snapshots are visible and accessible to users. (default: false) + """ + return pulumi.get(self, "snapshots_are_visible") + + @snapshots_are_visible.setter + def snapshots_are_visible(self, value: Optional[pulumi.Input[_builtins.bool]]): + pulumi.set(self, "snapshots_are_visible", value) + + +@pulumi.type_token("stackit:index/sfsResourcePool:SfsResourcePool") +class SfsResourcePool(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + ip_acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + performance_class: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + size_gigabytes: Optional[pulumi.Input[_builtins.int]] = None, + snapshots_are_visible: Optional[pulumi.Input[_builtins.bool]] = None, + __props__=None): + """ + Resource-pool resource schema. Must have a `region` specified in the provider configuration. + + > 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] availability_zone: Availability zone. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.str] name: Name of the resource pool. + :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] size_gigabytes: Size of the resource pool (unit: gigabytes) + :param pulumi.Input[_builtins.bool] snapshots_are_visible: If set to true, snapshots are visible and accessible to users. (default: false) + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SfsResourcePoolArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Resource-pool resource schema. Must have a `region` specified in the provider configuration. + + > 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 SfsResourcePoolArgs 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(SfsResourcePoolArgs, 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, + availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + ip_acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + performance_class: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + size_gigabytes: Optional[pulumi.Input[_builtins.int]] = None, + snapshots_are_visible: Optional[pulumi.Input[_builtins.bool]] = 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__ = SfsResourcePoolArgs.__new__(SfsResourcePoolArgs) + + if availability_zone is None and not opts.urn: + raise TypeError("Missing required property 'availability_zone'") + __props__.__dict__["availability_zone"] = availability_zone + if ip_acls is None and not opts.urn: + raise TypeError("Missing required property 'ip_acls'") + __props__.__dict__["ip_acls"] = ip_acls + __props__.__dict__["name"] = name + if performance_class is None and not opts.urn: + raise TypeError("Missing required property 'performance_class'") + __props__.__dict__["performance_class"] = performance_class + 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 size_gigabytes is None and not opts.urn: + raise TypeError("Missing required property 'size_gigabytes'") + __props__.__dict__["size_gigabytes"] = size_gigabytes + __props__.__dict__["snapshots_are_visible"] = snapshots_are_visible + __props__.__dict__["resource_pool_id"] = None + super(SfsResourcePool, __self__).__init__( + 'stackit:index/sfsResourcePool:SfsResourcePool', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + availability_zone: Optional[pulumi.Input[_builtins.str]] = None, + ip_acls: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + performance_class: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + size_gigabytes: Optional[pulumi.Input[_builtins.int]] = None, + snapshots_are_visible: Optional[pulumi.Input[_builtins.bool]] = None) -> 'SfsResourcePool': + """ + Get an existing SfsResourcePool 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] availability_zone: Availability zone. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.str] name: Name of the resource pool. + :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_pool_id: Resource pool ID + :param pulumi.Input[_builtins.int] size_gigabytes: Size of the resource pool (unit: gigabytes) + :param pulumi.Input[_builtins.bool] snapshots_are_visible: If set to true, snapshots are visible and accessible to users. (default: false) + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SfsResourcePoolState.__new__(_SfsResourcePoolState) + + __props__.__dict__["availability_zone"] = availability_zone + __props__.__dict__["ip_acls"] = ip_acls + __props__.__dict__["name"] = name + __props__.__dict__["performance_class"] = performance_class + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["resource_pool_id"] = resource_pool_id + __props__.__dict__["size_gigabytes"] = size_gigabytes + __props__.__dict__["snapshots_are_visible"] = snapshots_are_visible + return SfsResourcePool(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="availabilityZone") + def availability_zone(self) -> pulumi.Output[_builtins.str]: + """ + Availability zone. + """ + return pulumi.get(self, "availability_zone") + + @_builtins.property + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + """ + return pulumi.get(self, "ip_acls") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the resource pool. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="performanceClass") + def performance_class(self) -> pulumi.Output[_builtins.str]: + """ + Name of the performance class. + """ + return pulumi.get(self, "performance_class") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the resource pool is associated. + """ + return pulumi.get(self, "project_id") + + @_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(name="resourcePoolId") + def resource_pool_id(self) -> pulumi.Output[_builtins.str]: + """ + Resource pool ID + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter(name="sizeGigabytes") + def size_gigabytes(self) -> pulumi.Output[_builtins.int]: + """ + Size of the resource pool (unit: gigabytes) + """ + return pulumi.get(self, "size_gigabytes") + + @_builtins.property + @pulumi.getter(name="snapshotsAreVisible") + def snapshots_are_visible(self) -> pulumi.Output[_builtins.bool]: + """ + If set to true, snapshots are visible and accessible to users. (default: false) + """ + return pulumi.get(self, "snapshots_are_visible") + diff --git a/sdk/python/pulumi_stackit/sfs_share.py b/sdk/python/pulumi_stackit/sfs_share.py new file mode 100644 index 0000000..c591345 --- /dev/null +++ b/sdk/python/pulumi_stackit/sfs_share.py @@ -0,0 +1,489 @@ +# 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__ = ['SfsShareArgs', 'SfsShare'] + +@pulumi.input_type +class SfsShareArgs: + def __init__(__self__, *, + export_policy: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + resource_pool_id: pulumi.Input[_builtins.str], + space_hard_limit_gigabytes: pulumi.Input[_builtins.int], + name: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None): + """ + The set of arguments for constructing a SfsShare resource. + :param pulumi.Input[_builtins.str] export_policy: Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. + :param pulumi.Input[_builtins.str] resource_pool_id: The ID of the resource pool for the SFS share. + :param pulumi.Input[_builtins.int] space_hard_limit_gigabytes: Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + :param pulumi.Input[_builtins.str] name: Name of the share. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + """ + pulumi.set(__self__, "export_policy", export_policy) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + pulumi.set(__self__, "space_hard_limit_gigabytes", space_hard_limit_gigabytes) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="exportPolicy") + def export_policy(self) -> pulumi.Input[_builtins.str]: + """ + Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + """ + return pulumi.get(self, "export_policy") + + @export_policy.setter + def export_policy(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "export_policy", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID to which the share 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(name="resourcePoolId") + def resource_pool_id(self) -> pulumi.Input[_builtins.str]: + """ + The ID of the resource pool for the SFS share. + """ + return pulumi.get(self, "resource_pool_id") + + @resource_pool_id.setter + def resource_pool_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "resource_pool_id", value) + + @_builtins.property + @pulumi.getter(name="spaceHardLimitGigabytes") + def space_hard_limit_gigabytes(self) -> pulumi.Input[_builtins.int]: + """ + Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + return pulumi.get(self, "space_hard_limit_gigabytes") + + @space_hard_limit_gigabytes.setter + def space_hard_limit_gigabytes(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "space_hard_limit_gigabytes", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the share. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def 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 _SfsShareState: + def __init__(__self__, *, + export_policy: Optional[pulumi.Input[_builtins.str]] = None, + mount_path: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + share_id: Optional[pulumi.Input[_builtins.str]] = None, + space_hard_limit_gigabytes: Optional[pulumi.Input[_builtins.int]] = None): + """ + Input properties used for looking up and filtering SfsShare resources. + :param pulumi.Input[_builtins.str] export_policy: Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[_builtins.str] mount_path: Mount path of the Share, used to mount the Share + :param pulumi.Input[_builtins.str] name: Name of the share. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_pool_id: The ID of the resource pool for the SFS share. + :param pulumi.Input[_builtins.str] share_id: share ID + :param pulumi.Input[_builtins.int] space_hard_limit_gigabytes: Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + if export_policy is not None: + pulumi.set(__self__, "export_policy", export_policy) + if mount_path is not None: + pulumi.set(__self__, "mount_path", mount_path) + if name is not None: + pulumi.set(__self__, "name", name) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if resource_pool_id is not None: + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + if share_id is not None: + pulumi.set(__self__, "share_id", share_id) + if space_hard_limit_gigabytes is not None: + pulumi.set(__self__, "space_hard_limit_gigabytes", space_hard_limit_gigabytes) + + @_builtins.property + @pulumi.getter(name="exportPolicy") + def export_policy(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + """ + return pulumi.get(self, "export_policy") + + @export_policy.setter + def export_policy(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "export_policy", value) + + @_builtins.property + @pulumi.getter(name="mountPath") + def mount_path(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Mount path of the Share, used to mount the Share + """ + return pulumi.get(self, "mount_path") + + @mount_path.setter + def mount_path(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "mount_path", value) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + Name of the share. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + STACKIT project ID to which the share 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]]: + """ + 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(name="resourcePoolId") + def resource_pool_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + The ID of the resource pool for the SFS share. + """ + return pulumi.get(self, "resource_pool_id") + + @resource_pool_id.setter + def resource_pool_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "resource_pool_id", value) + + @_builtins.property + @pulumi.getter(name="shareId") + def share_id(self) -> Optional[pulumi.Input[_builtins.str]]: + """ + share ID + """ + return pulumi.get(self, "share_id") + + @share_id.setter + def share_id(self, value: Optional[pulumi.Input[_builtins.str]]): + pulumi.set(self, "share_id", value) + + @_builtins.property + @pulumi.getter(name="spaceHardLimitGigabytes") + def space_hard_limit_gigabytes(self) -> Optional[pulumi.Input[_builtins.int]]: + """ + Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + return pulumi.get(self, "space_hard_limit_gigabytes") + + @space_hard_limit_gigabytes.setter + def space_hard_limit_gigabytes(self, value: Optional[pulumi.Input[_builtins.int]]): + pulumi.set(self, "space_hard_limit_gigabytes", value) + + +@pulumi.type_token("stackit:index/sfsShare:SfsShare") +class SfsShare(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + export_policy: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + space_hard_limit_gigabytes: Optional[pulumi.Input[_builtins.int]] = None, + __props__=None): + """ + SFS Share schema. Must have a `region` specified in the provider configuration. + + > 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] export_policy: Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[_builtins.str] name: Name of the share. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_pool_id: The ID of the resource pool for the SFS share. + :param pulumi.Input[_builtins.int] space_hard_limit_gigabytes: Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: SfsShareArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + SFS Share schema. Must have a `region` specified in the provider configuration. + + > 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 SfsShareArgs 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(SfsShareArgs, 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, + export_policy: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + space_hard_limit_gigabytes: 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__ = SfsShareArgs.__new__(SfsShareArgs) + + if export_policy is None and not opts.urn: + raise TypeError("Missing required property 'export_policy'") + __props__.__dict__["export_policy"] = export_policy + __props__.__dict__["name"] = 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 resource_pool_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_pool_id'") + __props__.__dict__["resource_pool_id"] = resource_pool_id + if space_hard_limit_gigabytes is None and not opts.urn: + raise TypeError("Missing required property 'space_hard_limit_gigabytes'") + __props__.__dict__["space_hard_limit_gigabytes"] = space_hard_limit_gigabytes + __props__.__dict__["mount_path"] = None + __props__.__dict__["share_id"] = None + super(SfsShare, __self__).__init__( + 'stackit:index/sfsShare:SfsShare', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + export_policy: Optional[pulumi.Input[_builtins.str]] = None, + mount_path: Optional[pulumi.Input[_builtins.str]] = None, + name: Optional[pulumi.Input[_builtins.str]] = None, + project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, + resource_pool_id: Optional[pulumi.Input[_builtins.str]] = None, + share_id: Optional[pulumi.Input[_builtins.str]] = None, + space_hard_limit_gigabytes: Optional[pulumi.Input[_builtins.int]] = None) -> 'SfsShare': + """ + Get an existing SfsShare 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] export_policy: Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[_builtins.str] mount_path: Mount path of the Share, used to mount the Share + :param pulumi.Input[_builtins.str] name: Name of the share. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_pool_id: The ID of the resource pool for the SFS share. + :param pulumi.Input[_builtins.str] share_id: share ID + :param pulumi.Input[_builtins.int] space_hard_limit_gigabytes: Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _SfsShareState.__new__(_SfsShareState) + + __props__.__dict__["export_policy"] = export_policy + __props__.__dict__["mount_path"] = mount_path + __props__.__dict__["name"] = name + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["resource_pool_id"] = resource_pool_id + __props__.__dict__["share_id"] = share_id + __props__.__dict__["space_hard_limit_gigabytes"] = space_hard_limit_gigabytes + return SfsShare(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="exportPolicy") + def export_policy(self) -> pulumi.Output[_builtins.str]: + """ + Name of the Share Export Policy to use in the Share. + Note that if this is set to an empty string, the Share can only be mounted in read only by + clients with IPs matching the IP ACL of the Resource Pool hosting this Share. + You can also assign a Share Export Policy after creating the Share + """ + return pulumi.get(self, "export_policy") + + @_builtins.property + @pulumi.getter(name="mountPath") + def mount_path(self) -> pulumi.Output[_builtins.str]: + """ + Mount path of the Share, used to mount the Share + """ + return pulumi.get(self, "mount_path") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + Name of the share. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID to which the share is associated. + """ + return pulumi.get(self, "project_id") + + @_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(name="resourcePoolId") + def resource_pool_id(self) -> pulumi.Output[_builtins.str]: + """ + The ID of the resource pool for the SFS share. + """ + return pulumi.get(self, "resource_pool_id") + + @_builtins.property + @pulumi.getter(name="shareId") + def share_id(self) -> pulumi.Output[_builtins.str]: + """ + share ID + """ + return pulumi.get(self, "share_id") + + @_builtins.property + @pulumi.getter(name="spaceHardLimitGigabytes") + def space_hard_limit_gigabytes(self) -> pulumi.Output[_builtins.int]: + """ + Space hard limit for the Share. + If zero, the Share will have access to the full space of the Resource Pool it lives in. + (unit: gigabytes) + """ + return pulumi.get(self, "space_hard_limit_gigabytes") + diff --git a/sdk/python/pulumi_stackit/ske_cluster.py b/sdk/python/pulumi_stackit/ske_cluster.py index e0578e0..64c1be0 100644 --- a/sdk/python/pulumi_stackit/ske_cluster.py +++ b/sdk/python/pulumi_stackit/ske_cluster.py @@ -36,7 +36,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the cluster is associated. :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. - :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. :param pulumi.Input['SkeClusterMaintenanceArgs'] maintenance: A single maintenance block as defined below. :param pulumi.Input[_builtins.str] name: The cluster name. :param pulumi.Input['SkeClusterNetworkArgs'] network: Network block as defined below. @@ -111,7 +111,7 @@ def hibernations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SkeCl @pulumi.getter(name="kubernetesVersionMin") def kubernetes_version_min(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. """ return pulumi.get(self, "kubernetes_version_min") @@ -188,8 +188,8 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. - :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. - :param pulumi.Input[_builtins.str] kubernetes_version_used: Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + :param pulumi.Input[_builtins.str] kubernetes_version_used: Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). :param pulumi.Input['SkeClusterMaintenanceArgs'] maintenance: A single maintenance block as defined below. :param pulumi.Input[_builtins.str] name: The cluster name. :param pulumi.Input['SkeClusterNetworkArgs'] network: Network block as defined below. @@ -263,7 +263,7 @@ def hibernations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SkeCl @pulumi.getter(name="kubernetesVersionMin") def kubernetes_version_min(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. """ return pulumi.get(self, "kubernetes_version_min") @@ -275,7 +275,7 @@ def kubernetes_version_min(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="kubernetesVersionUsed") def kubernetes_version_used(self) -> Optional[pulumi.Input[_builtins.str]]: """ - Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "kubernetes_version_used") @@ -395,7 +395,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. - :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. :param pulumi.Input[Union['SkeClusterMaintenanceArgs', 'SkeClusterMaintenanceArgsDict']] maintenance: A single maintenance block as defined below. :param pulumi.Input[_builtins.str] name: The cluster name. :param pulumi.Input[Union['SkeClusterNetworkArgs', 'SkeClusterNetworkArgsDict']] network: Network block as defined below. @@ -497,8 +497,8 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. - :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. - :param pulumi.Input[_builtins.str] kubernetes_version_used: Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + :param pulumi.Input[_builtins.str] kubernetes_version_used: Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). :param pulumi.Input[Union['SkeClusterMaintenanceArgs', 'SkeClusterMaintenanceArgsDict']] maintenance: A single maintenance block as defined below. :param pulumi.Input[_builtins.str] name: The cluster name. :param pulumi.Input[Union['SkeClusterNetworkArgs', 'SkeClusterNetworkArgsDict']] network: Network block as defined below. @@ -553,7 +553,7 @@ def hibernations(self) -> pulumi.Output[Optional[Sequence['outputs.SkeClusterHib @pulumi.getter(name="kubernetesVersionMin") def kubernetes_version_min(self) -> pulumi.Output[Optional[_builtins.str]]: """ - The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. + The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. """ return pulumi.get(self, "kubernetes_version_min") @@ -561,7 +561,7 @@ def kubernetes_version_min(self) -> pulumi.Output[Optional[_builtins.str]]: @pulumi.getter(name="kubernetesVersionUsed") def kubernetes_version_used(self) -> pulumi.Output[_builtins.str]: """ - Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [Updates for Kubernetes versions and Operating System versions in SKE](https://docs.stackit.cloud/stackit/en/version-updates-in-ske-10125631.html). + Full Kubernetes version used. For example, if 1.22 was set in `kubernetes_version_min`, this value may result to 1.22.15. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ return pulumi.get(self, "kubernetes_version_used") diff --git a/sdk/python/pulumi_stackit/volume.py b/sdk/python/pulumi_stackit/volume.py index 64551f7..8d29358 100644 --- a/sdk/python/pulumi_stackit/volume.py +++ b/sdk/python/pulumi_stackit/volume.py @@ -27,6 +27,7 @@ def __init__(__self__, *, 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, + region: Optional[pulumi.Input[_builtins.str]] = None, size: Optional[pulumi.Input[_builtins.int]] = None, source: Optional[pulumi.Input['VolumeSourceArgs']] = None): """ @@ -36,7 +37,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] description: The description of the volume. :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/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + :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) + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.int] size: The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided :param pulumi.Input['VolumeSourceArgs'] source: The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided """ @@ -50,6 +52,8 @@ def __init__(__self__, *, pulumi.set(__self__, "name", name) if performance_class is not None: pulumi.set(__self__, "performance_class", performance_class) + if region is not None: + pulumi.set(__self__, "region", region) if size is not None: pulumi.set(__self__, "size", size) if source is not None: @@ -119,7 +123,7 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="performanceClass") def performance_class(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + 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) """ return pulumi.get(self, "performance_class") @@ -127,6 +131,18 @@ def performance_class(self) -> Optional[pulumi.Input[_builtins.str]]: def performance_class(self, value: Optional[pulumi.Input[_builtins.str]]): pulumi.set(self, "performance_class", 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 size(self) -> Optional[pulumi.Input[_builtins.int]]: @@ -161,6 +177,7 @@ def __init__(__self__, *, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, size: Optional[pulumi.Input[_builtins.int]] = None, source: Optional[pulumi.Input['VolumeSourceArgs']] = None, @@ -171,8 +188,9 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] description: The description of the volume. :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/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + :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) :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID of the server to which the volume is attached to. :param pulumi.Input[_builtins.int] size: The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided :param pulumi.Input['VolumeSourceArgs'] source: The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided @@ -190,6 +208,8 @@ def __init__(__self__, *, pulumi.set(__self__, "performance_class", performance_class) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) if server_id is not None: pulumi.set(__self__, "server_id", server_id) if size is not None: @@ -251,7 +271,7 @@ def name(self, value: Optional[pulumi.Input[_builtins.str]]): @pulumi.getter(name="performanceClass") def performance_class(self) -> Optional[pulumi.Input[_builtins.str]]: """ - The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + 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) """ return pulumi.get(self, "performance_class") @@ -271,6 +291,18 @@ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]: 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]]: + """ + 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(name="serverId") def server_id(self) -> Optional[pulumi.Input[_builtins.str]]: @@ -332,6 +364,7 @@ def __init__(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, size: Optional[pulumi.Input[_builtins.int]] = None, source: Optional[pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']]] = None, __props__=None): @@ -346,8 +379,9 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] description: The description of the volume. :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/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + :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) :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.int] size: The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided :param pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']] source: The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided """ @@ -383,6 +417,7 @@ def _internal_init(__self__, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, size: Optional[pulumi.Input[_builtins.int]] = None, source: Optional[pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']]] = None, __props__=None): @@ -404,6 +439,7 @@ def _internal_init(__self__, 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__["size"] = size __props__.__dict__["source"] = source __props__.__dict__["server_id"] = None @@ -424,6 +460,7 @@ def get(resource_name: str, name: Optional[pulumi.Input[_builtins.str]] = None, performance_class: Optional[pulumi.Input[_builtins.str]] = None, project_id: Optional[pulumi.Input[_builtins.str]] = None, + region: Optional[pulumi.Input[_builtins.str]] = None, server_id: Optional[pulumi.Input[_builtins.str]] = None, size: Optional[pulumi.Input[_builtins.int]] = None, source: Optional[pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']]] = None, @@ -439,8 +476,9 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] description: The description of the volume. :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/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + :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) :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the volume is associated. + :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] server_id: The server ID of the server to which the volume is attached to. :param pulumi.Input[_builtins.int] size: The size of the volume in GB. It can only be updated to a larger value than the current size. Either `size` or `source` must be provided :param pulumi.Input[Union['VolumeSourceArgs', 'VolumeSourceArgsDict']] source: The source of the volume. It can be either a volume, an image, a snapshot or a backup. Either `size` or `source` must be provided @@ -456,6 +494,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["performance_class"] = performance_class __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region __props__.__dict__["server_id"] = server_id __props__.__dict__["size"] = size __props__.__dict__["source"] = source @@ -498,7 +537,7 @@ def name(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="performanceClass") def performance_class(self) -> pulumi.Output[_builtins.str]: """ - The performance class of the volume. Possible values are documented in [Service plans BlockStorage](https://docs.stackit.cloud/stackit/en/service-plans-blockstorage-75137974.html#ServiceplansBlockStorage-CurrentlyavailableServicePlans%28performanceclasses%29) + 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) """ return pulumi.get(self, "performance_class") @@ -510,6 +549,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_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(name="serverId") def server_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/setup.py b/sdk/python/setup.py index 8f657e7..079484d 100644 --- a/sdk/python/setup.py +++ b/sdk/python/setup.py @@ -24,7 +24,7 @@ def readme(): description="A Pulumi package for creating and managing stackit resources.", long_description=readme(), long_description_content_type='text/markdown', - keywords='pulumi stackit category/utility', + keywords='pulumi stackit category/cloud', url='https://www.pulumi.com', project_urls={ 'Repository': 'https://github.com/stackitcloud/pulumi-stackit'