diff --git a/go.work.sum b/go.work.sum
index 1f27a90..b8e4a34 100644
--- a/go.work.sum
+++ b/go.work.sum
@@ -1254,6 +1254,8 @@ golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c h1:6a8FdnNk6bTXBjR4AGK
golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c/go.mod h1:TpUTTEp9frx7rTdLpC9gFG9kdI7zVLFTFFlqaH2Cncw=
golang.org/x/telemetry v0.0.0-20260409153401-be6f6cb8b1fa h1:efT73AJZfAAUV7SOip6pWGkwJDzIGiKBZGVzHYa+ve4=
golang.org/x/telemetry v0.0.0-20260409153401-be6f6cb8b1fa/go.mod h1:kHjTxDEnAu6/Nl9lDkzjWpR+bmKfxeiRuSDlsMb70gE=
+golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6 h1:HjU6IWBiAgRIdAJ9/y1rwCn+UELEmwV+VsTLzj/W4sE=
+golang.org/x/telemetry v0.0.0-20260508192327-42602be52be6/go.mod h1:Eqhaxk/wZsWEH8CRxLwj6xzEJbz7k1EFGqx7nyCoabE=
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
index a4bd2d0..64fb011 100644
--- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
+++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json
@@ -926,6 +926,80 @@
"stackit_volume": {
"current": "stackit:index/volume:Volume"
},
+ "stackit_vpn_connection": {
+ "current": "stackit:index/vpnConnection:VpnConnection",
+ "fields": {
+ "local_subnets": {
+ "maxItemsOne": false
+ },
+ "remote_subnets": {
+ "maxItemsOne": false
+ },
+ "static_routes": {
+ "maxItemsOne": false
+ },
+ "tunnel1": {
+ "fields": {
+ "phase1": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "phase2": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ },
+ "tunnel2": {
+ "fields": {
+ "phase1": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "phase2": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"stackit_vpn_gateway": {
"current": "stackit:index/vpnGateway:VpnGateway",
"fields": {
@@ -1970,6 +2044,80 @@
"stackit_volume": {
"current": "stackit:index/getVolume:getVolume"
},
+ "stackit_vpn_connection": {
+ "current": "stackit:index/getVpnConnection:getVpnConnection",
+ "fields": {
+ "local_subnets": {
+ "maxItemsOne": false
+ },
+ "remote_subnets": {
+ "maxItemsOne": false
+ },
+ "static_routes": {
+ "maxItemsOne": false
+ },
+ "tunnel1": {
+ "fields": {
+ "phase1": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "phase2": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ },
+ "tunnel2": {
+ "fields": {
+ "phase1": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ },
+ "phase2": {
+ "fields": {
+ "dh_groups": {
+ "maxItemsOne": false
+ },
+ "encryption_algorithms": {
+ "maxItemsOne": false
+ },
+ "integrity_algorithms": {
+ "maxItemsOne": false
+ }
+ }
+ }
+ }
+ }
+ }
+ },
"stackit_vpn_gateway": {
"current": "stackit:index/getVpnGateway:getVpnGateway",
"fields": {
@@ -1981,6 +2129,17 @@
}
}
}
+ },
+ "stackit_vpn_gateway_status": {
+ "current": "stackit:index/getVpnGatewayStatus:getVpnGatewayStatus",
+ "fields": {
+ "connections": {
+ "maxItemsOne": false
+ },
+ "tunnels": {
+ "maxItemsOne": false
+ }
+ }
}
}
},
diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json
index 8828857..dde8c66 100644
--- a/provider/cmd/pulumi-resource-stackit/schema.json
+++ b/provider/cmd/pulumi-resource-stackit/schema.json
@@ -3351,6 +3351,43 @@
}
}
},
+ "stackit:index/SkeClusterAccess:SkeClusterAccess": {
+ "properties": {
+ "idp": {
+ "$ref": "#/types/stackit:index/SkeClusterAccessIdp:SkeClusterAccessIdp",
+ "description": "Configure IDP\n"
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "idp"
+ ]
+ }
+ }
+ },
+ "stackit:index/SkeClusterAccessIdp:SkeClusterAccessIdp": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable IDP integration for the cluster.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The IDP type. Possible values: 'stackit'.\n"
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "enabled",
+ "type"
+ ]
+ }
+ }
+ },
"stackit:index/SkeClusterExtensions:SkeClusterExtensions": {
"properties": {
"acl": {
@@ -4010,6 +4047,336 @@
"type"
]
},
+ "stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1": {
+ "properties": {
+ "bgp": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1Bgp:VpnConnectionTunnel1Bgp"
+ },
+ "peering": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1Peering:VpnConnectionTunnel1Peering"
+ },
+ "phase1": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1Phase1:VpnConnectionTunnel1Phase1"
+ },
+ "phase2": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1Phase2:VpnConnectionTunnel1Phase2"
+ },
+ "preSharedKey": {
+ "type": "string",
+ "description": "Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e should be preferred.\n",
+ "secret": true
+ },
+ "preSharedKeyWo": {
+ "type": "string",
+ "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.\n",
+ "secret": true
+ },
+ "preSharedKeyWoVersion": {
+ "type": "integer",
+ "description": "User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote IPv4 address for the tunnel endpoint.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "phase1",
+ "phase2",
+ "remoteAddress"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel1Bgp:VpnConnectionTunnel1Bgp": {
+ "properties": {
+ "remoteAsn": {
+ "type": "integer",
+ "description": "Remote ASN for BGP peering (private ASN range, 64512-4294967294).\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "remoteAsn"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel1Peering:VpnConnectionTunnel1Peering": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "description": "Local tunnel interface IPv4 address.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote tunnel interface IPv4 address.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "localAddress",
+ "remoteAddress"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel1Phase1:VpnConnectionTunnel1Phase1": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for key exchange. Possible values are: \u003cspan pulumi-lang-nodejs=\"`modp1024`\" pulumi-lang-dotnet=\"`Modp1024`\" pulumi-lang-go=\"`modp1024`\" pulumi-lang-python=\"`modp1024`\" pulumi-lang-yaml=\"`modp1024`\" pulumi-lang-java=\"`modp1024`\"\u003e`modp1024`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048`\" pulumi-lang-dotnet=\"`Modp2048`\" pulumi-lang-go=\"`modp2048`\" pulumi-lang-python=\"`modp2048`\" pulumi-lang-yaml=\"`modp2048`\" pulumi-lang-java=\"`modp2048`\"\u003e`modp2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp256`\" pulumi-lang-dotnet=\"`Ecp256`\" pulumi-lang-go=\"`ecp256`\" pulumi-lang-python=\"`ecp256`\" pulumi-lang-yaml=\"`ecp256`\" pulumi-lang-java=\"`ecp256`\"\u003e`ecp256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp384`\" pulumi-lang-dotnet=\"`Ecp384`\" pulumi-lang-go=\"`ecp384`\" pulumi-lang-python=\"`ecp384`\" pulumi-lang-yaml=\"`ecp384`\" pulumi-lang-java=\"`ecp384`\"\u003e`ecp384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048s256`\" pulumi-lang-dotnet=\"`Modp2048s256`\" pulumi-lang-go=\"`modp2048s256`\" pulumi-lang-python=\"`modp2048s256`\" pulumi-lang-yaml=\"`modp2048s256`\" pulumi-lang-java=\"`modp2048s256`\"\u003e`modp2048s256`\u003c/span\u003e.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms for Phase 1. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256`\" pulumi-lang-dotnet=\"`Aes256`\" pulumi-lang-go=\"`aes256`\" pulumi-lang-python=\"`aes256`\" pulumi-lang-yaml=\"`aes256`\" pulumi-lang-java=\"`aes256`\"\u003e`aes256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes128gcm16`\" pulumi-lang-dotnet=\"`Aes128gcm16`\" pulumi-lang-go=\"`aes128gcm16`\" pulumi-lang-python=\"`aes128gcm16`\" pulumi-lang-yaml=\"`aes128gcm16`\" pulumi-lang-java=\"`aes128gcm16`\"\u003e`aes128gcm16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes256gcm16`\" pulumi-lang-dotnet=\"`Aes256gcm16`\" pulumi-lang-go=\"`aes256gcm16`\" pulumi-lang-python=\"`aes256gcm16`\" pulumi-lang-yaml=\"`aes256gcm16`\" pulumi-lang-java=\"`aes256gcm16`\"\u003e`aes256gcm16`\u003c/span\u003e.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity algorithms for Phase 1. Possible values are: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2256`\" pulumi-lang-dotnet=\"`Sha2256`\" pulumi-lang-go=\"`sha2256`\" pulumi-lang-python=\"`sha2_256`\" pulumi-lang-yaml=\"`sha2256`\" pulumi-lang-java=\"`sha2256`\"\u003e`sha2256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2384`\" pulumi-lang-dotnet=\"`Sha2384`\" pulumi-lang-go=\"`sha2384`\" pulumi-lang-python=\"`sha2_384`\" pulumi-lang-yaml=\"`sha2384`\" pulumi-lang-java=\"`sha2384`\"\u003e`sha2384`\u003c/span\u003e.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime"
+ ]
+ }
+ }
+ },
+ "stackit:index/VpnConnectionTunnel1Phase2:VpnConnectionTunnel1Phase2": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`modp1024`\" pulumi-lang-dotnet=\"`Modp1024`\" pulumi-lang-go=\"`modp1024`\" pulumi-lang-python=\"`modp1024`\" pulumi-lang-yaml=\"`modp1024`\" pulumi-lang-java=\"`modp1024`\"\u003e`modp1024`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048`\" pulumi-lang-dotnet=\"`Modp2048`\" pulumi-lang-go=\"`modp2048`\" pulumi-lang-python=\"`modp2048`\" pulumi-lang-yaml=\"`modp2048`\" pulumi-lang-java=\"`modp2048`\"\u003e`modp2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp256`\" pulumi-lang-dotnet=\"`Ecp256`\" pulumi-lang-go=\"`ecp256`\" pulumi-lang-python=\"`ecp256`\" pulumi-lang-yaml=\"`ecp256`\" pulumi-lang-java=\"`ecp256`\"\u003e`ecp256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp384`\" pulumi-lang-dotnet=\"`Ecp384`\" pulumi-lang-go=\"`ecp384`\" pulumi-lang-python=\"`ecp384`\" pulumi-lang-yaml=\"`ecp384`\" pulumi-lang-java=\"`ecp384`\"\u003e`ecp384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048s256`\" pulumi-lang-dotnet=\"`Modp2048s256`\" pulumi-lang-go=\"`modp2048s256`\" pulumi-lang-python=\"`modp2048s256`\" pulumi-lang-yaml=\"`modp2048s256`\" pulumi-lang-java=\"`modp2048s256`\"\u003e`modp2048s256`\u003c/span\u003e.\n"
+ },
+ "dpdAction": {
+ "type": "string",
+ "description": "Action to perform on DPD timeout. Default: 'restart'. Possible values are: \u003cspan pulumi-lang-nodejs=\"`clear`\" pulumi-lang-dotnet=\"`Clear`\" pulumi-lang-go=\"`clear`\" pulumi-lang-python=\"`clear`\" pulumi-lang-yaml=\"`clear`\" pulumi-lang-java=\"`clear`\"\u003e`clear`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256`\" pulumi-lang-dotnet=\"`Aes256`\" pulumi-lang-go=\"`aes256`\" pulumi-lang-python=\"`aes256`\" pulumi-lang-yaml=\"`aes256`\" pulumi-lang-java=\"`aes256`\"\u003e`aes256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes128gcm16`\" pulumi-lang-dotnet=\"`Aes128gcm16`\" pulumi-lang-go=\"`aes128gcm16`\" pulumi-lang-python=\"`aes128gcm16`\" pulumi-lang-yaml=\"`aes128gcm16`\" pulumi-lang-java=\"`aes128gcm16`\"\u003e`aes128gcm16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes256gcm16`\" pulumi-lang-dotnet=\"`Aes256gcm16`\" pulumi-lang-go=\"`aes256gcm16`\" pulumi-lang-python=\"`aes256gcm16`\" pulumi-lang-yaml=\"`aes256gcm16`\" pulumi-lang-java=\"`aes256gcm16`\"\u003e`aes256gcm16`\u003c/span\u003e.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity algorithms for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2256`\" pulumi-lang-dotnet=\"`Sha2256`\" pulumi-lang-go=\"`sha2256`\" pulumi-lang-python=\"`sha2_256`\" pulumi-lang-yaml=\"`sha2256`\" pulumi-lang-java=\"`sha2256`\"\u003e`sha2256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2384`\" pulumi-lang-dotnet=\"`Sha2384`\" pulumi-lang-go=\"`sha2384`\" pulumi-lang-python=\"`sha2_384`\" pulumi-lang-yaml=\"`sha2384`\" pulumi-lang-java=\"`sha2384`\"\u003e`sha2384`\u003c/span\u003e.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.\n"
+ },
+ "startAction": {
+ "type": "string",
+ "description": "Action to perform after loading the connection configuration. Default: 'start'. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "dpdAction",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime",
+ "startAction"
+ ]
+ }
+ }
+ },
+ "stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2": {
+ "properties": {
+ "bgp": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2Bgp:VpnConnectionTunnel2Bgp"
+ },
+ "peering": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2Peering:VpnConnectionTunnel2Peering"
+ },
+ "phase1": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2Phase1:VpnConnectionTunnel2Phase1"
+ },
+ "phase2": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2Phase2:VpnConnectionTunnel2Phase2"
+ },
+ "preSharedKey": {
+ "type": "string",
+ "description": "Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e should be preferred.\n",
+ "secret": true
+ },
+ "preSharedKeyWo": {
+ "type": "string",
+ "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.\n",
+ "secret": true
+ },
+ "preSharedKeyWoVersion": {
+ "type": "integer",
+ "description": "User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote IPv4 address for the tunnel endpoint.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "phase1",
+ "phase2",
+ "remoteAddress"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel2Bgp:VpnConnectionTunnel2Bgp": {
+ "properties": {
+ "remoteAsn": {
+ "type": "integer",
+ "description": "Remote ASN for BGP peering (private ASN range, 64512-4294967294).\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "remoteAsn"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel2Peering:VpnConnectionTunnel2Peering": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "description": "Local tunnel interface IPv4 address.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote tunnel interface IPv4 address.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "localAddress",
+ "remoteAddress"
+ ]
+ },
+ "stackit:index/VpnConnectionTunnel2Phase1:VpnConnectionTunnel2Phase1": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for key exchange. Possible values are: \u003cspan pulumi-lang-nodejs=\"`modp1024`\" pulumi-lang-dotnet=\"`Modp1024`\" pulumi-lang-go=\"`modp1024`\" pulumi-lang-python=\"`modp1024`\" pulumi-lang-yaml=\"`modp1024`\" pulumi-lang-java=\"`modp1024`\"\u003e`modp1024`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048`\" pulumi-lang-dotnet=\"`Modp2048`\" pulumi-lang-go=\"`modp2048`\" pulumi-lang-python=\"`modp2048`\" pulumi-lang-yaml=\"`modp2048`\" pulumi-lang-java=\"`modp2048`\"\u003e`modp2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp256`\" pulumi-lang-dotnet=\"`Ecp256`\" pulumi-lang-go=\"`ecp256`\" pulumi-lang-python=\"`ecp256`\" pulumi-lang-yaml=\"`ecp256`\" pulumi-lang-java=\"`ecp256`\"\u003e`ecp256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp384`\" pulumi-lang-dotnet=\"`Ecp384`\" pulumi-lang-go=\"`ecp384`\" pulumi-lang-python=\"`ecp384`\" pulumi-lang-yaml=\"`ecp384`\" pulumi-lang-java=\"`ecp384`\"\u003e`ecp384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048s256`\" pulumi-lang-dotnet=\"`Modp2048s256`\" pulumi-lang-go=\"`modp2048s256`\" pulumi-lang-python=\"`modp2048s256`\" pulumi-lang-yaml=\"`modp2048s256`\" pulumi-lang-java=\"`modp2048s256`\"\u003e`modp2048s256`\u003c/span\u003e.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms for Phase 1. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256`\" pulumi-lang-dotnet=\"`Aes256`\" pulumi-lang-go=\"`aes256`\" pulumi-lang-python=\"`aes256`\" pulumi-lang-yaml=\"`aes256`\" pulumi-lang-java=\"`aes256`\"\u003e`aes256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes128gcm16`\" pulumi-lang-dotnet=\"`Aes128gcm16`\" pulumi-lang-go=\"`aes128gcm16`\" pulumi-lang-python=\"`aes128gcm16`\" pulumi-lang-yaml=\"`aes128gcm16`\" pulumi-lang-java=\"`aes128gcm16`\"\u003e`aes128gcm16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes256gcm16`\" pulumi-lang-dotnet=\"`Aes256gcm16`\" pulumi-lang-go=\"`aes256gcm16`\" pulumi-lang-python=\"`aes256gcm16`\" pulumi-lang-yaml=\"`aes256gcm16`\" pulumi-lang-java=\"`aes256gcm16`\"\u003e`aes256gcm16`\u003c/span\u003e.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity algorithms for Phase 1. Possible values are: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2256`\" pulumi-lang-dotnet=\"`Sha2256`\" pulumi-lang-go=\"`sha2256`\" pulumi-lang-python=\"`sha2_256`\" pulumi-lang-yaml=\"`sha2256`\" pulumi-lang-java=\"`sha2256`\"\u003e`sha2256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2384`\" pulumi-lang-dotnet=\"`Sha2384`\" pulumi-lang-go=\"`sha2384`\" pulumi-lang-python=\"`sha2_384`\" pulumi-lang-yaml=\"`sha2384`\" pulumi-lang-java=\"`sha2384`\"\u003e`sha2384`\u003c/span\u003e.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime"
+ ]
+ }
+ }
+ },
+ "stackit:index/VpnConnectionTunnel2Phase2:VpnConnectionTunnel2Phase2": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`modp1024`\" pulumi-lang-dotnet=\"`Modp1024`\" pulumi-lang-go=\"`modp1024`\" pulumi-lang-python=\"`modp1024`\" pulumi-lang-yaml=\"`modp1024`\" pulumi-lang-java=\"`modp1024`\"\u003e`modp1024`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048`\" pulumi-lang-dotnet=\"`Modp2048`\" pulumi-lang-go=\"`modp2048`\" pulumi-lang-python=\"`modp2048`\" pulumi-lang-yaml=\"`modp2048`\" pulumi-lang-java=\"`modp2048`\"\u003e`modp2048`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp256`\" pulumi-lang-dotnet=\"`Ecp256`\" pulumi-lang-go=\"`ecp256`\" pulumi-lang-python=\"`ecp256`\" pulumi-lang-yaml=\"`ecp256`\" pulumi-lang-java=\"`ecp256`\"\u003e`ecp256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ecp384`\" pulumi-lang-dotnet=\"`Ecp384`\" pulumi-lang-go=\"`ecp384`\" pulumi-lang-python=\"`ecp384`\" pulumi-lang-yaml=\"`ecp384`\" pulumi-lang-java=\"`ecp384`\"\u003e`ecp384`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`modp2048s256`\" pulumi-lang-dotnet=\"`Modp2048s256`\" pulumi-lang-go=\"`modp2048s256`\" pulumi-lang-python=\"`modp2048s256`\" pulumi-lang-yaml=\"`modp2048s256`\" pulumi-lang-java=\"`modp2048s256`\"\u003e`modp2048s256`\u003c/span\u003e.\n"
+ },
+ "dpdAction": {
+ "type": "string",
+ "description": "Action to perform on DPD timeout. Default: 'restart'. Possible values are: \u003cspan pulumi-lang-nodejs=\"`clear`\" pulumi-lang-dotnet=\"`Clear`\" pulumi-lang-go=\"`clear`\" pulumi-lang-python=\"`clear`\" pulumi-lang-yaml=\"`clear`\" pulumi-lang-java=\"`clear`\"\u003e`clear`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`restart`\" pulumi-lang-dotnet=\"`Restart`\" pulumi-lang-go=\"`restart`\" pulumi-lang-python=\"`restart`\" pulumi-lang-yaml=\"`restart`\" pulumi-lang-java=\"`restart`\"\u003e`restart`\u003c/span\u003e.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`aes256`\" pulumi-lang-dotnet=\"`Aes256`\" pulumi-lang-go=\"`aes256`\" pulumi-lang-python=\"`aes256`\" pulumi-lang-yaml=\"`aes256`\" pulumi-lang-java=\"`aes256`\"\u003e`aes256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes128gcm16`\" pulumi-lang-dotnet=\"`Aes128gcm16`\" pulumi-lang-go=\"`aes128gcm16`\" pulumi-lang-python=\"`aes128gcm16`\" pulumi-lang-yaml=\"`aes128gcm16`\" pulumi-lang-java=\"`aes128gcm16`\"\u003e`aes128gcm16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aes256gcm16`\" pulumi-lang-dotnet=\"`Aes256gcm16`\" pulumi-lang-go=\"`aes256gcm16`\" pulumi-lang-python=\"`aes256gcm16`\" pulumi-lang-yaml=\"`aes256gcm16`\" pulumi-lang-java=\"`aes256gcm16`\"\u003e`aes256gcm16`\u003c/span\u003e.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity algorithms for Phase 2. Possible values are: \u003cspan pulumi-lang-nodejs=\"`sha1`\" pulumi-lang-dotnet=\"`Sha1`\" pulumi-lang-go=\"`sha1`\" pulumi-lang-python=\"`sha1`\" pulumi-lang-yaml=\"`sha1`\" pulumi-lang-java=\"`sha1`\"\u003e`sha1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2256`\" pulumi-lang-dotnet=\"`Sha2256`\" pulumi-lang-go=\"`sha2256`\" pulumi-lang-python=\"`sha2_256`\" pulumi-lang-yaml=\"`sha2256`\" pulumi-lang-java=\"`sha2256`\"\u003e`sha2256`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sha2384`\" pulumi-lang-dotnet=\"`Sha2384`\" pulumi-lang-go=\"`sha2384`\" pulumi-lang-python=\"`sha2_384`\" pulumi-lang-yaml=\"`sha2384`\" pulumi-lang-java=\"`sha2384`\"\u003e`sha2384`\u003c/span\u003e.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.\n"
+ },
+ "startAction": {
+ "type": "string",
+ "description": "Action to perform after loading the connection configuration. Default: 'start'. Possible values are: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`start`\" pulumi-lang-dotnet=\"`Start`\" pulumi-lang-go=\"`start`\" pulumi-lang-python=\"`start`\" pulumi-lang-yaml=\"`start`\" pulumi-lang-java=\"`start`\"\u003e`start`\u003c/span\u003e.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "encryptionAlgorithms",
+ "integrityAlgorithms"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "dpdAction",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime",
+ "startAction"
+ ]
+ }
+ }
+ },
"stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones": {
"properties": {
"tunnel1": {
@@ -7942,6 +8309,45 @@
}
}
},
+ "stackit:index/getSkeClusterAccess:getSkeClusterAccess": {
+ "properties": {
+ "idp": {
+ "$ref": "#/types/stackit:index/getSkeClusterAccessIdp:getSkeClusterAccessIdp",
+ "description": "Configure IDP\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "idp"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getSkeClusterAccessIdp:getSkeClusterAccessIdp": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Enable IDP integration for the cluster.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The IDP type. Possible values: 'stackit'.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled",
+ "type"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"stackit:index/getSkeClusterExtensions:getSkeClusterExtensions": {
"properties": {
"acl": {
@@ -8644,21 +9050,357 @@
}
}
},
- "stackit:index/getVolumeSource:getVolumeSource": {
+ "stackit:index/getVolumeSource:getVolumeSource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ID of the source, e.g. image ID\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the source. Possible values are: \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "type"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel1:getVpnConnectionTunnel1": {
+ "properties": {
+ "bgp": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel1Bgp:getVpnConnectionTunnel1Bgp",
+ "description": "BGP configuration for this tunnel.\n"
+ },
+ "peering": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel1Peering:getVpnConnectionTunnel1Peering",
+ "description": "Tunnel interface peering configuration.\n"
+ },
+ "phase1": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel1Phase1:getVpnConnectionTunnel1Phase1",
+ "description": "IKE Phase 1 configuration.\n"
+ },
+ "phase2": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel1Phase2:getVpnConnectionTunnel1Phase2",
+ "description": "IKE Phase 2 configuration.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote peer IPv4 address for this tunnel.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "bgp",
+ "peering",
+ "phase1",
+ "phase2",
+ "remoteAddress"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel1Bgp:getVpnConnectionTunnel1Bgp": {
+ "properties": {
+ "remoteAsn": {
+ "type": "integer",
+ "description": "Remote AS number.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "remoteAsn"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel1Peering:getVpnConnectionTunnel1Peering": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "description": "Local tunnel interface IPv4 address.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote tunnel interface IPv4 address.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "localAddress",
+ "remoteAddress"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel1Phase1:getVpnConnectionTunnel1Phase1": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity/hash algorithms.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "IKE re-keying time in seconds.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dhGroups",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel1Phase2:getVpnConnectionTunnel1Phase2": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for PFS.\n"
+ },
+ "dpdAction": {
+ "type": "string",
+ "description": "DPD timeout action (clear or restart).\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity/hash algorithms.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Child SA re-keying time in seconds.\n"
+ },
+ "startAction": {
+ "type": "string",
+ "description": "Start action (none or start).\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dhGroups",
+ "dpdAction",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime",
+ "startAction"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel2:getVpnConnectionTunnel2": {
+ "properties": {
+ "bgp": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel2Bgp:getVpnConnectionTunnel2Bgp",
+ "description": "BGP configuration for this tunnel.\n"
+ },
+ "peering": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel2Peering:getVpnConnectionTunnel2Peering",
+ "description": "Tunnel interface peering configuration.\n"
+ },
+ "phase1": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel2Phase1:getVpnConnectionTunnel2Phase1",
+ "description": "IKE Phase 1 configuration.\n"
+ },
+ "phase2": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel2Phase2:getVpnConnectionTunnel2Phase2",
+ "description": "IKE Phase 2 configuration.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote peer IPv4 address for this tunnel.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "bgp",
+ "peering",
+ "phase1",
+ "phase2",
+ "remoteAddress"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel2Bgp:getVpnConnectionTunnel2Bgp": {
+ "properties": {
+ "remoteAsn": {
+ "type": "integer",
+ "description": "Remote AS number.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "remoteAsn"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel2Peering:getVpnConnectionTunnel2Peering": {
+ "properties": {
+ "localAddress": {
+ "type": "string",
+ "description": "Local tunnel interface IPv4 address.\n"
+ },
+ "remoteAddress": {
+ "type": "string",
+ "description": "Remote tunnel interface IPv4 address.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "localAddress",
+ "remoteAddress"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel2Phase1:getVpnConnectionTunnel2Phase1": {
+ "properties": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups.\n"
+ },
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity/hash algorithms.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "IKE re-keying time in seconds.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dhGroups",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnConnectionTunnel2Phase2:getVpnConnectionTunnel2Phase2": {
"properties": {
- "id": {
+ "dhGroups": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Diffie-Hellman groups for PFS.\n"
+ },
+ "dpdAction": {
"type": "string",
- "description": "The ID of the source, e.g. image ID\n"
+ "description": "DPD timeout action (clear or restart).\n"
},
- "type": {
+ "encryptionAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Encryption algorithms.\n"
+ },
+ "integrityAlgorithms": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Integrity/hash algorithms.\n"
+ },
+ "rekeyTime": {
+ "type": "integer",
+ "description": "Child SA re-keying time in seconds.\n"
+ },
+ "startAction": {
"type": "string",
- "description": "The type of the source. Possible values are: \u003cspan pulumi-lang-nodejs=\"`volume`\" pulumi-lang-dotnet=\"`Volume`\" pulumi-lang-go=\"`volume`\" pulumi-lang-python=\"`volume`\" pulumi-lang-yaml=\"`volume`\" pulumi-lang-java=\"`volume`\"\u003e`volume`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\"\u003e`image`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snapshot`\" pulumi-lang-dotnet=\"`Snapshot`\" pulumi-lang-go=\"`snapshot`\" pulumi-lang-python=\"`snapshot`\" pulumi-lang-yaml=\"`snapshot`\" pulumi-lang-java=\"`snapshot`\"\u003e`snapshot`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`backup`\" pulumi-lang-dotnet=\"`Backup`\" pulumi-lang-go=\"`backup`\" pulumi-lang-python=\"`backup`\" pulumi-lang-yaml=\"`backup`\" pulumi-lang-java=\"`backup`\"\u003e`backup`\u003c/span\u003e.\n"
+ "description": "Start action (none or start).\n"
}
},
"type": "object",
"required": [
- "id",
- "type"
+ "dhGroups",
+ "dpdAction",
+ "encryptionAlgorithms",
+ "integrityAlgorithms",
+ "rekeyTime",
+ "startAction"
],
"language": {
"nodejs": {
@@ -8712,6 +9454,60 @@
"requiredInputs": []
}
}
+ },
+ "stackit:index/getVpnGatewayStatusConnection:getVpnGatewayStatusConnection": {
+ "properties": {
+ "connectionId": {
+ "type": "string",
+ "description": "ID of the VPN connection.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display name of the VPN connection.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Wether the VPN connection is enabled or not.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connectionId",
+ "displayName",
+ "enabled"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "stackit:index/getVpnGatewayStatusTunnel:getVpnGatewayStatusTunnel": {
+ "properties": {
+ "internalNextHopIp": {
+ "type": "string",
+ "description": "The IPv4 address of the endpoint in the SNA.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the VPN tunnel. Possible values are: \u003cspan pulumi-lang-nodejs=\"`tunnel1`\" pulumi-lang-dotnet=\"`Tunnel1`\" pulumi-lang-go=\"`tunnel1`\" pulumi-lang-python=\"`tunnel1`\" pulumi-lang-yaml=\"`tunnel1`\" pulumi-lang-java=\"`tunnel1`\"\u003e`tunnel1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tunnel2`\" pulumi-lang-dotnet=\"`Tunnel2`\" pulumi-lang-go=\"`tunnel2`\" pulumi-lang-python=\"`tunnel2`\" pulumi-lang-yaml=\"`tunnel2`\" pulumi-lang-java=\"`tunnel2`\"\u003e`tunnel2`\u003c/span\u003e.\n"
+ },
+ "publicIp": {
+ "type": "string",
+ "description": "The public IPv4 address of this endpoint.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "internalNextHopIp",
+ "name",
+ "publicIp"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
}
},
"provider": {
@@ -9352,7 +10148,7 @@
}
},
"stackit:index/applicationLoadBalancer:ApplicationLoadBalancer": {
- "description": "## Setting up supporting infrastructure\n\n\nThe example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.\n\n## Example Usage\n\n```terraform\nvariable \"project_id\" {\n description = \"The STACKIT Project ID\"\n type = string\n default = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nvariable \"image_id\" {\n description = \"A valid Debian 12 Image ID available in all projects\"\n type = string\n default = \"939249d1-6f48-4ab7-929b-95170728311a\"\n}\n\nvariable \"availability_zone\" {\n description = \"An availability zone\"\n type = string\n default = \"eu01-1\"\n}\n\nvariable \"machine_type\" {\n description = \"The machine flavor with 2GB of RAM and 1 core\"\n type = string\n default = \"c2i.1\"\n}\n\nvariable \"label_key\" {\n description = \"An optional label key\"\n type = string\n default = \"key\"\n}\n\nvariable \"label_value\" {\n description = \"An optional label value\"\n type = string\n default = \"value\"\n}\n\n# Create a network\nresource \"stackit_network\" \"network\" {\n project_id = var.project_id\n name = \"example-network\"\n ipv4_nameservers = [\"1.1.1.1\"]\n ipv4_prefix = \"192.168.2.0/25\"\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = var.project_id\n network_id = stackit_network.network.network_id\n lifecycle {\n ignore_changes = [\n security_group_ids,\n ]\n }\n}\n\n# Create a key pair for accessing the target server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a target server instance\nresource \"stackit_server\" \"server\" {\n project_id = var.project_id\n name = \"example-server\"\n machine_type = var.machine_type\n keypair_name = stackit_key_pair.keypair.name\n availability_zone = var.availability_zone\n\n boot_volume = {\n size = 20\n source_type = \"image\"\n source_id = var.image_id\n delete_on_termination = true\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n\n # Explicit dependencies to ensure ordering\n depends_on = [\n stackit_network.network,\n stackit_key_pair.keypair,\n stackit_network_interface.nic\n ]\n}\n\n# Create example credentials for observability of the ALB\n# Create real credentials in your STACKIT observability\nresource \"stackit_loadbalancer_observability_credential\" \"observability\" {\n project_id = var.project_id\n display_name = \"my-cred\"\n password = \"password\"\n username = \"username\"\n}\n\n# Create a RAS key pair\nresource \"tls_private_key\" \"example\" {\n algorithm = \"RSA\"\n rsa_bits = 2048\n}\n\n# Create a TLS certificate\nresource \"tls_self_signed_cert\" \"example\" {\n private_key_pem = tls_private_key.example.private_key_pem\n\n subject {\n common_name = \"localhost\"\n organization = \"STACKIT Test\"\n }\n\n validity_period_hours = 12\n\n allowed_uses = [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ]\n}\n\n# Create a ALB certificate\nresource \"stackit_alb_certificate\" \"certificate\" {\n project_id = var.project_id\n name = \"example-certificate\"\n private_key = tls_private_key.example.private_key_pem\n public_key = tls_self_signed_cert.example.cert_pem\n}\n\n# Create a Application Load Balancer\nresource \"stackit_application_load_balancer\" \"example\" {\n project_id = var.project_id\n region = \"eu01\"\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n // Hint: Automatically create an IP for the ALB lifecycle by setting ephemeral_address = true or use:\n // external_address = \"124.124.124.124\"\n labels = {\n (var.label_key) = var.label_value\n }\n listeners = [{\n name = \"my-listener\"\n port = 443\n http = {\n hosts = [{\n host = \"*\"\n rules = [{\n target_pool = \"my-target-pool\"\n web_socket = true\n query_parameters = [{\n name = \"my-query-key\"\n exact_match = \"my-query-value\"\n }]\n headers = [{\n name = \"my-header-key\"\n exact_match = \"my-header-value\"\n }]\n path = {\n prefix = \"/path\"\n }\n cookie_persistence = {\n name = \"my-cookie\"\n ttl = \"60s\"\n }\n }]\n }]\n }\n https = {\n certificate_config = {\n certificate_ids = [\n stackit_alb_certificate.certificate.cert_id\n ]\n }\n }\n protocol = \"PROTOCOL_HTTPS\"\n # Currently no TF provider available, needs to be added with API\n # https://docs.api.stackit.cloud/documentation/alb-waf/version/v1alpha\n waf_config_name = \"my-waf-config\"\n }\n ]\n networks = [\n {\n network_id = stackit_network.network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n options = {\n acl = [\"123.123.123.123/24\", \"12.12.12.12/24\"]\n ephemeral_address = true\n private_network_only = false\n observability = {\n logs = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://logs.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/loki/api/v1/push\"\n }\n metrics = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://push.metrics.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/api/v1/receive\"\n }\n }\n }\n target_pools = [\n {\n name = \"my-target-pool\"\n active_health_check = {\n interval = \"0.500s\"\n interval_jitter = \"0.010s\"\n timeout = \"1s\"\n healthy_threshold = \"5\"\n unhealthy_threshold = \"3\"\n http_health_checks = {\n ok_status = [\"200\", \"201\"]\n path = \"/healthy\"\n }\n }\n target_port = 80\n targets = [\n {\n display_name = \"my-target\"\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n tls_config = {\n enabled = true\n skip_certificate_validation = false\n custom_ca = chomp(file(\"path/to/PEM_formated_CA\"))\n }\n }\n ]\n disable_target_security_group_assignment = false # only needed if targets are not in the same network\n}\n```\n",
+ "description": "## Setting up supporting infrastructure\n\n\nThe example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.\n\n## Example Usage\n\n```terraform\nvariable \"project_id\" {\n description = \"The STACKIT Project ID\"\n type = string\n default = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nvariable \"image_id\" {\n description = \"A valid Debian 12 Image ID available in all projects\"\n type = string\n default = \"d333affd-9f00-446d-978f-524cb0384360\"\n}\n\nvariable \"availability_zone\" {\n description = \"An availability zone\"\n type = string\n default = \"eu01-1\"\n}\n\nvariable \"machine_type\" {\n description = \"The machine flavor with 2GB of RAM and 1 core\"\n type = string\n default = \"c2i.1\"\n}\n\nvariable \"label_key\" {\n description = \"An optional label key\"\n type = string\n default = \"key\"\n}\n\nvariable \"label_value\" {\n description = \"An optional label value\"\n type = string\n default = \"value\"\n}\n\n# Create a network\nresource \"stackit_network\" \"network\" {\n project_id = var.project_id\n name = \"example-network\"\n ipv4_nameservers = [\"1.1.1.1\"]\n ipv4_prefix = \"192.168.2.0/25\"\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = var.project_id\n network_id = stackit_network.network.network_id\n lifecycle {\n ignore_changes = [\n security_group_ids,\n ]\n }\n}\n\n# Create a key pair for accessing the target server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a target server instance\nresource \"stackit_server\" \"server\" {\n project_id = var.project_id\n name = \"example-server\"\n machine_type = var.machine_type\n keypair_name = stackit_key_pair.keypair.name\n availability_zone = var.availability_zone\n\n boot_volume = {\n size = 20\n source_type = \"image\"\n source_id = var.image_id\n delete_on_termination = true\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n\n # Explicit dependencies to ensure ordering\n depends_on = [\n stackit_network.network,\n stackit_key_pair.keypair,\n stackit_network_interface.nic\n ]\n}\n\n# Create example credentials for observability of the ALB\n# Create real credentials in your STACKIT observability\nresource \"stackit_loadbalancer_observability_credential\" \"observability\" {\n project_id = var.project_id\n display_name = \"my-cred\"\n password = \"password\"\n username = \"username\"\n}\n\n# Create a RAS key pair\nresource \"tls_private_key\" \"example\" {\n algorithm = \"RSA\"\n rsa_bits = 2048\n}\n\n# Create a TLS certificate\nresource \"tls_self_signed_cert\" \"example\" {\n private_key_pem = tls_private_key.example.private_key_pem\n\n subject {\n common_name = \"localhost\"\n organization = \"STACKIT Test\"\n }\n\n validity_period_hours = 12\n\n allowed_uses = [\n \"key_encipherment\",\n \"digital_signature\",\n \"server_auth\",\n ]\n}\n\n# Create a ALB certificate\nresource \"stackit_alb_certificate\" \"certificate\" {\n project_id = var.project_id\n name = \"example-certificate\"\n private_key = tls_private_key.example.private_key_pem\n public_key = tls_self_signed_cert.example.cert_pem\n}\n\n# Create a Application Load Balancer\nresource \"stackit_application_load_balancer\" \"example\" {\n project_id = var.project_id\n region = \"eu01\"\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n // Hint: Automatically create an IP for the ALB lifecycle by setting ephemeral_address = true or use:\n // external_address = \"124.124.124.124\"\n labels = {\n (var.label_key) = var.label_value\n }\n listeners = [{\n name = \"my-listener\"\n port = 443\n http = {\n hosts = [{\n host = \"*\"\n rules = [{\n target_pool = \"my-target-pool\"\n web_socket = true\n query_parameters = [{\n name = \"my-query-key\"\n exact_match = \"my-query-value\"\n }]\n headers = [{\n name = \"my-header-key\"\n exact_match = \"my-header-value\"\n }]\n path = {\n prefix = \"/path\"\n }\n cookie_persistence = {\n name = \"my-cookie\"\n ttl = \"60s\"\n }\n }]\n }]\n }\n https = {\n certificate_config = {\n certificate_ids = [\n stackit_alb_certificate.certificate.cert_id\n ]\n }\n }\n protocol = \"PROTOCOL_HTTPS\"\n # Currently no TF provider available, needs to be added with API\n # https://docs.api.stackit.cloud/documentation/alb-waf/version/v1alpha\n waf_config_name = \"my-waf-config\"\n }\n ]\n networks = [\n {\n network_id = stackit_network.network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n options = {\n access_control = {\n allowed_source_ranges = [\"123.123.123.123/24\", \"12.12.12.12/24\"]\n }\n ephemeral_address = true\n private_network_only = false\n observability = {\n logs = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://logs.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/loki/api/v1/push\"\n }\n metrics = {\n credentials_ref = stackit_loadbalancer_observability_credential.observability.credentials_ref\n push_url = \"https://push.metrics.stackit\u003cid\u003e.argus.eu01.stackit.cloud/instances/\u003cinstance-id\u003e/api/v1/receive\"\n }\n }\n }\n target_pools = [\n {\n name = \"my-target-pool\"\n active_health_check = {\n interval = \"0.500s\"\n interval_jitter = \"0.010s\"\n timeout = \"1s\"\n healthy_threshold = \"5\"\n unhealthy_threshold = \"3\"\n http_health_checks = {\n ok_status = [\"200\", \"201\"]\n path = \"/healthy\"\n }\n }\n target_port = 80\n targets = [\n {\n display_name = \"my-target\"\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n tls_config = {\n enabled = true\n skip_certificate_validation = false\n custom_ca = chomp(file(\"path/to/PEM_formated_CA\"))\n }\n }\n ]\n disable_target_security_group_assignment = false # only needed if targets are not in the same network\n}\n```\n",
"properties": {
"disableTargetSecurityGroupAssignment": {
"type": "boolean",
@@ -11742,6 +12538,10 @@
"stackit:index/intakeRunner:IntakeRunner": {
"description": "Manages STACKIT Intake Runner.\n\n## Example Usage\n\n```terraform\nresource \"stackit_intake_runner\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-runner\"\n region = \"eu01\"\n description = \"An example runner for STACKIT Intake\"\n max_message_size_kib = 1024\n max_messages_per_hour = 1000\n labels = {\n \"env\" = \"development\"\n }\n}\n```\n",
"properties": {
+ "createTime": {
+ "type": "string",
+ "description": "The creation time of the runner.\n"
+ },
"description": {
"type": "string",
"description": "The description of the runner.\n"
@@ -11776,15 +12576,21 @@
"runnerId": {
"type": "string",
"description": "The runner ID.\n"
+ },
+ "uri": {
+ "type": "string",
+ "description": "The URI of the runner.\n"
}
},
"required": [
+ "createTime",
"maxMessageSizeKib",
"maxMessagesPerHour",
"name",
"projectId",
"region",
- "runnerId"
+ "runnerId",
+ "uri"
],
"inputProperties": {
"description": {
@@ -11827,6 +12633,10 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering IntakeRunner resources.\n",
"properties": {
+ "createTime": {
+ "type": "string",
+ "description": "The creation time of the runner.\n"
+ },
"description": {
"type": "string",
"description": "The description of the runner.\n"
@@ -11861,6 +12671,10 @@
"runnerId": {
"type": "string",
"description": "The runner ID.\n"
+ },
+ "uri": {
+ "type": "string",
+ "description": "The URI of the runner.\n"
}
},
"type": "object"
@@ -12356,7 +13170,7 @@
}
},
"stackit:index/loadbalancer:Loadbalancer": {
- "description": "## Setting up supporting infrastructure\n\n\nThe example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.\n\n## Example Usage\n\n```terraform\n# Create a network\nresource \"stackit_network\" \"example_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"8.8.8.8\"]\n ipv4_prefix = \"192.168.0.0/25\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.example_network.network_id\n}\n\n# Create a public IP for the load balancer\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n lifecycle {\n ignore_changes = [network_interface_id]\n }\n}\n\n# Create a key pair for accessing the server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a server instance\nresource \"stackit_server\" \"boot-from-image\" {\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 = \"7b10e105-295b-4369-b6e0-567ec940a02b\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\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 ]\n}\n\n# Create a load balancer\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n target_pools = [\n {\n name = \"example-target-pool\"\n target_port = 80\n targets = [\n {\n display_name = stackit_server.boot-from-image.name\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n active_health_check = {\n healthy_threshold = 10\n interval = \"3s\"\n interval_jitter = \"3s\"\n timeout = \"3s\"\n unhealthy_threshold = 10\n }\n }\n ]\n listeners = [\n {\n display_name = \"example-listener\"\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"example-target-pool\"\n tcp = {\n idle_timeout = \"90s\"\n }\n }\n ]\n networks = [\n {\n network_id = stackit_network.example_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n external_address = stackit_public_ip.public-ip.ip\n options = {\n private_network_only = false\n }\n}\n\n# This example demonstrates an advanced setup where the Load Balancer is in one\n# network and the target server is in another. This requires manual\n# security group configuration using the `disable_security_group_assignment`\n# and `security_group_id` attributes.\n\n# We create two separate networks: one for the load balancer and one for the target.\nresource \"stackit_network\" \"lb_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"lb-network-example\"\n ipv4_prefix = \"192.168.10.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n}\n\nresource \"stackit_network\" \"target_network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"target-network-example\"\n ipv4_prefix = \"192.168.10.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n}\n\nresource \"stackit_public_ip\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-advanced-lb\"\n external_address = stackit_public_ip.example.ip\n\n # Key setting for manual mode: disables automatic security group handling.\n disable_security_group_assignment = true\n\n networks = [{\n network_id = stackit_network.lb_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }]\n\n listeners = [{\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"cross-network-pool\"\n }]\n\n target_pools = [{\n name = \"cross-network-pool\"\n target_port = 80\n targets = [{\n display_name = stackit_server.example.name\n ip = stackit_network_interface.nic.ipv4\n }]\n }]\n}\n\n# Create a new security group to be assigned to the target server.\nresource \"stackit_security_group\" \"target_sg\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"target-sg-for-lb-access\"\n description = \"Allows ingress traffic from the example load balancer.\"\n}\n\n# Create a rule to allow traffic FROM the load balancer.\n# This rule uses the computed `security_group_id` of the load balancer.\nresource \"stackit_security_group_rule\" \"allow_lb_ingress\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.target_sg.security_group_id\n direction = \"ingress\"\n protocol = {\n name = \"tcp\"\n }\n\n # This is the crucial link: it allows traffic from the LB's security group.\n remote_security_group_id = stackit_loadbalancer.example.security_group_id\n\n port_range = {\n min = 80\n max = 80\n }\n}\n\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-remote-target\"\n machine_type = \"g2i.2\"\n availability_zone = \"eu01-1\"\n\n boot_volume = {\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 10\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.target_network.network_id\n security_group_ids = [stackit_security_group.target_sg.security_group_id]\n}\n# End of advanced example\n\n# Only use the import statement, if you want to import an existing loadbalancer\nimport {\n to = stackit_loadbalancer.import-example\n id = \"${var.project_id},${var.region},${var.loadbalancer_name}\"\n}\n```\n",
+ "description": "## Setting up supporting infrastructure\n\n\nThe example below creates the supporting infrastructure using the STACKIT Terraform provider, including the network, network interface, a public IP address and server resources.\n\n## Example Usage\n\n```terraform\nvariable \"project_id\" {\n description = \"The STACKIT Project ID\"\n type = string\n default = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nvariable \"image_id\" {\n description = \"A valid Debian 12 Image ID available in all projects\"\n type = string\n default = \"939249d1-6f48-4ab7-929b-95170728311a\"\n}\n\n# Create a network\nresource \"stackit_network\" \"example_network\" {\n project_id = var.project_id\n name = \"example-network\"\n ipv4_nameservers = [\"8.8.8.8\"]\n ipv4_prefix = \"192.168.0.0/25\"\n labels = {\n \"key\" = \"value\"\n }\n routed = true\n}\n\n# Create a network interface\nresource \"stackit_network_interface\" \"nic\" {\n project_id = var.project_id\n network_id = stackit_network.example_network.network_id\n}\n\n# Create a public IP for the load balancer\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = var.project_id\n lifecycle {\n ignore_changes = [network_interface_id]\n }\n}\n\n# Create a key pair for accessing the server instance\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\n# Create a server instance\nresource \"stackit_server\" \"boot-from-image\" {\n project_id = var.project_id\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"7b10e105-295b-4369-b6e0-567ec940a02b\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\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 ]\n}\n\n# Create a load balancer\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = var.project_id\n name = \"example-load-balancer\"\n plan_id = \"p10\"\n target_pools = [\n {\n name = \"example-target-pool\"\n target_port = 80\n targets = [\n {\n display_name = stackit_server.boot-from-image.name\n ip = stackit_network_interface.nic.ipv4\n }\n ]\n active_health_check = {\n healthy_threshold = 10\n interval = \"3s\"\n interval_jitter = \"3s\"\n timeout = \"3s\"\n unhealthy_threshold = 10\n }\n }\n ]\n listeners = [\n {\n display_name = \"example-listener\"\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"example-target-pool\"\n tcp = {\n idle_timeout = \"90s\"\n }\n }\n ]\n networks = [\n {\n network_id = stackit_network.example_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }\n ]\n external_address = stackit_public_ip.public-ip.ip\n options = {\n private_network_only = false\n }\n}\n\n# This example demonstrates an advanced setup where the Load Balancer is in one\n# network and the target server is in another. This requires manual\n# security group configuration using the `disable_security_group_assignment`\n# and `load_balancer_security_group_id` attributes.\n\n# We create two separate networks: one for the load balancer and one for the target.\nresource \"stackit_network\" \"lb_network\" {\n project_id = var.project_id\n name = \"lb-network-example\"\n ipv4_prefix = \"192.168.10.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n routed = true\n}\n\nresource \"stackit_network\" \"target_network\" {\n project_id = var.project_id\n name = \"target-network-example\"\n ipv4_prefix = \"192.168.15.0/25\"\n ipv4_nameservers = [\"8.8.8.8\"]\n}\n\nresource \"stackit_public_ip\" \"example\" {\n project_id = var.project_id\n}\n\nresource \"stackit_loadbalancer\" \"example\" {\n project_id = var.project_id\n name = \"example-advanced-lb\"\n external_address = stackit_public_ip.example.ip\n\n # Key setting for manual mode: disables automatic security group handling.\n disable_security_group_assignment = true\n\n networks = [{\n network_id = stackit_network.lb_network.network_id\n role = \"ROLE_LISTENERS_AND_TARGETS\"\n }]\n\n listeners = [{\n port = 80\n protocol = \"PROTOCOL_TCP\"\n target_pool = \"cross-network-pool\"\n }]\n\n target_pools = [{\n name = \"cross-network-pool\"\n target_port = 80\n targets = [{\n display_name = stackit_server.example.name\n ip = stackit_network_interface.nic.ipv4\n }]\n }]\n}\n\n# Create a new security group to be assigned to the target server.\nresource \"stackit_security_group\" \"target_sg\" {\n project_id = var.project_id\n name = \"target-sg-for-lb-access\"\n description = \"Allows ingress traffic from the example load balancer.\"\n}\n\n# Create a rule to allow traffic FROM the load balancer.\n# This rule uses the computed `load_balancer_security_group_id` of the load balancer.\nresource \"stackit_security_group_rule\" \"allow_lb_ingress\" {\n project_id = var.project_id\n security_group_id = stackit_security_group.target_sg.security_group_id\n direction = \"ingress\"\n protocol = {\n name = \"tcp\"\n }\n\n # This is the crucial link: it allows traffic from the LB's security group.\n remote_security_group_id = stackit_loadbalancer.example.load_balancer_security_group_id\n\n port_range = {\n min = 80\n max = 80\n }\n}\n\nresource \"stackit_server\" \"example\" {\n project_id = var.project_id\n name = \"example-remote-target\"\n machine_type = \"g2i.2\"\n availability_zone = \"eu01-1\"\n\n boot_volume = {\n source_type = \"image\"\n source_id = var.image_id\n size = 10\n }\n\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = var.project_id\n network_id = stackit_network.target_network.network_id\n security_group_ids = [stackit_security_group.target_sg.security_group_id]\n}\n# End of advanced example\n\n# Only use the import statement, if you want to import an existing loadbalancer\nimport {\n to = stackit_loadbalancer.import-example\n id = \"${var.project_id},${var.region},${var.loadbalancer_name}\"\n}\n```\n",
"properties": {
"disableSecurityGroupAssignment": {
"type": "boolean",
@@ -12373,6 +13187,10 @@
},
"description": "List of all listeners which will accept traffic. Limited to 20.\n"
},
+ "loadBalancerSecurityGroupId": {
+ "type": "string",
+ "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ },
"name": {
"type": "string",
"description": "Load balancer name.\n"
@@ -12406,7 +13224,7 @@
},
"securityGroupId": {
"type": "string",
- "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ "description": "The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.\n"
},
"targetPools": {
"type": "array",
@@ -12423,6 +13241,7 @@
"required": [
"disableSecurityGroupAssignment",
"listeners",
+ "loadBalancerSecurityGroupId",
"name",
"networks",
"options",
@@ -12509,6 +13328,10 @@
},
"description": "List of all listeners which will accept traffic. Limited to 20.\n"
},
+ "loadBalancerSecurityGroupId": {
+ "type": "string",
+ "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ },
"name": {
"type": "string",
"description": "Load balancer name.\n"
@@ -12542,7 +13365,7 @@
},
"securityGroupId": {
"type": "string",
- "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ "description": "The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.\n"
},
"targetPools": {
"type": "array",
@@ -14884,7 +15707,7 @@
}
},
"stackit:index/objectstorageBucket:ObjectstorageBucket": {
- "description": "ObjectStorage bucket 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. If you are creating \u003cspan pulumi-lang-nodejs=\"`credentialsgroup`\" pulumi-lang-dotnet=\"`Credentialsgroup`\" pulumi-lang-go=\"`credentialsgroup`\" pulumi-lang-python=\"`credentialsgroup`\" pulumi-lang-yaml=\"`credentialsgroup`\" pulumi-lang-java=\"`credentialsgroup`\"\u003e`credentialsgroup`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e resources simultaneously, please include the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`dependsOn`\u003c/span\u003e field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket\"\n}\n\n## With compliance lock\nresource \"stackit_objectstorage_compliance_lock\" \"example_with_lock\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_objectstorage_bucket\" \"example_with_lock\" {\n depends_on = [stackit_objectstorage_compliance_lock.example_with_lock]\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket-with-lock\"\n object_lock = true\n}\n\n\n# Only use the import statement, if you want to import an existing objectstorage bucket\nimport {\n to = stackit_objectstorage_bucket.import-example\n id = \"${var.project_id},${var.region},${var.bucket_name}\"\n}\n```\n",
+ "description": "ObjectStorage bucket 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. If you are creating \u003cspan pulumi-lang-nodejs=\"`credentialsgroup`\" pulumi-lang-dotnet=\"`Credentialsgroup`\" pulumi-lang-go=\"`credentialsgroup`\" pulumi-lang-python=\"`credentialsgroup`\" pulumi-lang-yaml=\"`credentialsgroup`\" pulumi-lang-java=\"`credentialsgroup`\"\u003e`credentialsgroup`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`bucket`\" pulumi-lang-dotnet=\"`Bucket`\" pulumi-lang-go=\"`bucket`\" pulumi-lang-python=\"`bucket`\" pulumi-lang-yaml=\"`bucket`\" pulumi-lang-java=\"`bucket`\"\u003e`bucket`\u003c/span\u003e resources simultaneously, please include the \u003cspan pulumi-lang-nodejs=\"`dependsOn`\" pulumi-lang-dotnet=\"`DependsOn`\" pulumi-lang-go=\"`dependsOn`\" pulumi-lang-python=\"`depends_on`\" pulumi-lang-yaml=\"`dependsOn`\" pulumi-lang-java=\"`dependsOn`\"\u003e`dependsOn`\u003c/span\u003e field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.\n\n\u003e This resource cannot be destroyed if the bucket contains objects. Please ensure the bucket is empty before attempting to destroy it.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_bucket\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket\"\n}\n\n## With compliance lock\nresource \"stackit_objectstorage_compliance_lock\" \"example_with_lock\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_objectstorage_bucket\" \"example_with_lock\" {\n depends_on = [stackit_objectstorage_compliance_lock.example_with_lock]\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-bucket-with-lock\"\n object_lock = true\n}\n\n\n# Only use the import statement, if you want to import an existing objectstorage bucket\nimport {\n to = stackit_objectstorage_bucket.import-example\n id = \"${var.project_id},${var.region},${var.bucket_name}\"\n}\n```\n",
"properties": {
"name": {
"type": "string",
@@ -20509,6 +21332,10 @@
"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`nodePools`\u003c/span\u003e of a \u003cspan pulumi-lang-nodejs=\"`stackit.SkeCluster`\" pulumi-lang-dotnet=\"`stackit.SkeCluster`\" pulumi-lang-go=\"`SkeCluster`\" pulumi-lang-python=\"`SkeCluster`\" pulumi-lang-yaml=\"`stackit.SkeCluster`\" pulumi-lang-java=\"`stackit.SkeCluster`\"\u003e`stackit.SkeCluster`\u003c/span\u003e, the pulumi preview might appear incorrect as it matches the node pools by index rather than by name. However, the SKE API correctly identifies node pools by name and applies the intended changes. Please review your changes carefully to ensure the correct configuration will be applied.\n\n## Example Usage\n\n```terraform\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version_min = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-3\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n maintenance = {\n enable_kubernetes_version_updates = true\n enable_machine_image_version_updates = true\n start = \"01:00:00Z\"\n end = \"02:00:00Z\"\n }\n network = {\n control_plane = {\n access_scope = \"PUBLIC\"\n }\n }\n}\n\n# Only use the import statement, if you want to import an existing ske cluster\nimport {\n to = stackit_ske_cluster.import-example\n id = \"${var.project_id},${var.region},${var.ske_name}\"\n}\n```\n",
"properties": {
+ "access": {
+ "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess",
+ "description": "Configure access to the cluster\n"
+ },
"egressAddressRanges": {
"type": "array",
"items": {
@@ -20571,6 +21398,7 @@
}
},
"required": [
+ "access",
"egressAddressRanges",
"kubernetesVersionUsed",
"maintenance",
@@ -20582,6 +21410,10 @@
"region"
],
"inputProperties": {
+ "access": {
+ "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess",
+ "description": "Configure access to the cluster\n"
+ },
"extensions": {
"$ref": "#/types/stackit:index/SkeClusterExtensions:SkeClusterExtensions",
"description": "A single extensions block as defined below.\n"
@@ -20632,6 +21464,10 @@
"stateInputs": {
"description": "Input properties used for looking up and filtering SkeCluster resources.\n",
"properties": {
+ "access": {
+ "$ref": "#/types/stackit:index/SkeClusterAccess:SkeClusterAccess",
+ "description": "Configure access to the cluster\n"
+ },
"egressAddressRanges": {
"type": "array",
"items": {
@@ -21718,116 +22554,325 @@
"performanceClass",
"projectId",
"region",
- "serverId",
- "size",
- "volumeId"
+ "serverId",
+ "size",
+ "volumeId"
+ ],
+ "inputProperties": {
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the volume.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the volume.\n"
+ },
+ "encryptionParameters": {
+ "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters",
+ "description": "Parameter to connect to a key-encryption-key within the STACKIT-KMS to create encrypted volumes. These parameters never leave the backend again. So these parameters are not present on imports or in the datasource. They live only in your Terraform state after creation of the resource.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the volume.\n"
+ },
+ "performanceClass": {
+ "type": "string",
+ "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"
+ },
+ "source": {
+ "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
+ "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. 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"
+ }
+ },
+ "requiredInputs": [
+ "availabilityZone",
+ "projectId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering Volume resources.\n",
+ "properties": {
+ "availabilityZone": {
+ "type": "string",
+ "description": "The availability zone of the volume.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the volume.\n"
+ },
+ "encrypted": {
+ "type": "boolean",
+ "description": "Indicates if the volume is encrypted.\n"
+ },
+ "encryptionParameters": {
+ "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters",
+ "description": "Parameter to connect to a key-encryption-key within the STACKIT-KMS to create encrypted volumes. These parameters never leave the backend again. So these parameters are not present on imports or in the datasource. They live only in your Terraform state after creation of the resource.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Labels are key-value string pairs which can be attached to a resource container\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The name of the volume.\n"
+ },
+ "performanceClass": {
+ "type": "string",
+ "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"
+ },
+ "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"
+ },
+ "source": {
+ "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
+ "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. 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"
+ },
+ "volumeId": {
+ "type": "string",
+ "description": "The volume ID.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "stackit:index/vpnConnection:VpnConnection": {
+ "description": "VPN Connection resource schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \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 is defined on resource level.\n\n## Example Usage\n\n```terraform\nresource \"stackit_vpn_connection\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-vpn-connection\"\n\n tunnel1 = {\n remote_address = \"198.51.100.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel1\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n\n tunnel2 = {\n remote_address = \"203.0.113.10\"\n pre_shared_key_wo = \"example-super-secret-key-tunnel2\"\n\n phase1 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n\n phase2 = {\n dh_groups = [\"ecp384\"]\n encryption_algorithms = [\"aes256\"]\n integrity_algorithms = [\"sha2_384\"]\n }\n }\n}\n\n# Only use the import statement, if you want to import an existing VPN connection\nimport {\n to = stackit_vpn_connection.example\n id = \"${var.project_id},${var.region},${var.gateway_id},${var.connection_id}\"\n}\n```\n",
+ "properties": {
+ "connectionId": {
+ "type": "string",
+ "description": "The server-generated UUID of the VPN connection."
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether this connection is enabled. Defaults to true."
+ },
+ "gatewayId": {
+ "type": "string",
+ "description": "The UUID of the parent VPN gateway.\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Map of custom labels."
+ },
+ "localSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "STACKIT region."
+ },
+ "remoteSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
+ },
+ "staticRoutes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways."
+ },
+ "tunnel1": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1",
+ "description": "Configuration for the IPsec tunnel1\n"
+ },
+ "tunnel2": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2",
+ "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)."
+ }
+ },
+ "required": [
+ "connectionId",
+ "displayName",
+ "enabled",
+ "gatewayId",
+ "localSubnets",
+ "projectId",
+ "region",
+ "remoteSubnets",
+ "staticRoutes",
+ "tunnel1",
+ "tunnel2"
],
"inputProperties": {
- "availabilityZone": {
+ "displayName": {
"type": "string",
- "description": "The availability zone of the volume.\n"
+ "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n"
},
- "description": {
- "type": "string",
- "description": "The description of the volume.\n"
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether this connection is enabled. Defaults to true."
},
- "encryptionParameters": {
- "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters",
- "description": "Parameter to connect to a key-encryption-key within the STACKIT-KMS to create encrypted volumes. These parameters never leave the backend again. So these parameters are not present on imports or in the datasource. They live only in your Terraform state after creation of the resource.\n"
+ "gatewayId": {
+ "type": "string",
+ "description": "The UUID of the parent VPN gateway.\n"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
- },
- "name": {
- "type": "string",
- "description": "The name of the volume.\n"
+ "description": "Map of custom labels."
},
- "performanceClass": {
- "type": "string",
- "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"
+ "localSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the volume is associated.\n"
+ "description": "STACKIT project ID.\n"
},
"region": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "STACKIT region."
},
- "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"
+ "remoteSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
},
- "source": {
- "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
- "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. 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"
+ "staticRoutes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways."
+ },
+ "tunnel1": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1",
+ "description": "Configuration for the IPsec tunnel1\n"
+ },
+ "tunnel2": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2",
+ "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)."
}
},
"requiredInputs": [
- "availabilityZone",
- "projectId"
+ "displayName",
+ "gatewayId",
+ "projectId",
+ "tunnel1",
+ "tunnel2"
],
"stateInputs": {
- "description": "Input properties used for looking up and filtering Volume resources.\n",
+ "description": "Input properties used for looking up and filtering VpnConnection resources.\n",
"properties": {
- "availabilityZone": {
+ "connectionId": {
"type": "string",
- "description": "The availability zone of the volume.\n"
+ "description": "The server-generated UUID of the VPN connection."
},
- "description": {
+ "displayName": {
"type": "string",
- "description": "The description of the volume.\n"
+ "description": "A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.\n"
},
- "encrypted": {
+ "enabled": {
"type": "boolean",
- "description": "Indicates if the volume is encrypted.\n"
+ "description": "Whether this connection is enabled. Defaults to true."
},
- "encryptionParameters": {
- "$ref": "#/types/stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters",
- "description": "Parameter to connect to a key-encryption-key within the STACKIT-KMS to create encrypted volumes. These parameters never leave the backend again. So these parameters are not present on imports or in the datasource. They live only in your Terraform state after creation of the resource.\n"
+ "gatewayId": {
+ "type": "string",
+ "description": "The UUID of the parent VPN gateway.\n"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Labels are key-value string pairs which can be attached to a resource container\n"
- },
- "name": {
- "type": "string",
- "description": "The name of the volume.\n"
+ "description": "Map of custom labels."
},
- "performanceClass": {
- "type": "string",
- "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"
+ "localSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of local IPv4 CIDRs to route through this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
},
"projectId": {
"type": "string",
- "description": "STACKIT project ID to which the volume is associated.\n"
+ "description": "STACKIT project ID.\n"
},
"region": {
"type": "string",
- "description": "The resource region. If not defined, the provider region is used.\n"
+ "description": "STACKIT region."
},
- "serverId": {
- "type": "string",
- "description": "The server ID of the server to which the volume is attached to.\n"
+ "remoteSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of remote IPv4 CIDRs accessible via this connection. Optional for route-based and BGP configurations (defaults to 0.0.0.0/0). Mandatory for policy-based."
},
- "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"
+ "staticRoutes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways."
},
- "source": {
- "$ref": "#/types/stackit:index/VolumeSource:VolumeSource",
- "description": "The source of the volume. It can be either a volume, an image, a snapshot or a backup. 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"
+ "tunnel1": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel1:VpnConnectionTunnel1",
+ "description": "Configuration for the IPsec tunnel1\n"
},
- "volumeId": {
- "type": "string",
- "description": "The volume ID.\n"
+ "tunnel2": {
+ "$ref": "#/types/stackit:index/VpnConnectionTunnel2:VpnConnectionTunnel2",
+ "description": "Configuration for the IPsec tunnel2 \n\n\u003e Write-Only argument \u003cspan pulumi-lang-nodejs=\"`preSharedKeyWo`\" pulumi-lang-dotnet=\"`PreSharedKeyWo`\" pulumi-lang-go=\"`preSharedKeyWo`\" pulumi-lang-python=\"`pre_shared_key_wo`\" pulumi-lang-yaml=\"`preSharedKeyWo`\" pulumi-lang-java=\"`preSharedKeyWo`\"\u003e`preSharedKeyWo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`preSharedKey`\" pulumi-lang-dotnet=\"`PreSharedKey`\" pulumi-lang-go=\"`preSharedKey`\" pulumi-lang-python=\"`pre_shared_key`\" pulumi-lang-yaml=\"`preSharedKey`\" pulumi-lang-java=\"`preSharedKey`\"\u003e`preSharedKey`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. [Learn more](https://developer.hashicorp.com/terraform/language/resources/ephemeral#write-only-arguments)."
}
},
"type": "object"
@@ -23521,6 +24566,10 @@
"outputs": {
"description": "A collection of values returned by getIntakeRunner.\n",
"properties": {
+ "createTime": {
+ "type": "string",
+ "description": "The creation time of the runner.\n"
+ },
"description": {
"type": "string",
"description": "The description of the runner.\n"
@@ -23559,10 +24608,15 @@
"runnerId": {
"type": "string",
"description": "The runner ID.\n"
+ },
+ "uri": {
+ "type": "string",
+ "description": "The URI of the runner.\n"
}
},
"type": "object",
"required": [
+ "createTime",
"description",
"id",
"labels",
@@ -23570,7 +24624,8 @@
"maxMessagesPerHour",
"name",
"projectId",
- "runnerId"
+ "runnerId",
+ "uri"
]
}
},
@@ -23941,6 +24996,10 @@
},
"description": "List of all listeners which will accept traffic. Limited to 20.\n"
},
+ "loadBalancerSecurityGroupId": {
+ "type": "string",
+ "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ },
"name": {
"type": "string",
"description": "Load balancer name.\n"
@@ -23974,7 +25033,7 @@
},
"securityGroupId": {
"type": "string",
- "description": "The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT Network areas (SNA). To enable this, create a security group rule for your target VMs and set the \u003cspan pulumi-lang-nodejs=\"`remoteSecurityGroupId`\" pulumi-lang-dotnet=\"`RemoteSecurityGroupId`\" pulumi-lang-go=\"`remoteSecurityGroupId`\" pulumi-lang-python=\"`remote_security_group_id`\" pulumi-lang-yaml=\"`remoteSecurityGroupId`\" pulumi-lang-java=\"`remoteSecurityGroupId`\"\u003e`remoteSecurityGroupId`\u003c/span\u003e of that rule to this value. This is typically used when \u003cspan pulumi-lang-nodejs=\"`disableSecurityGroupAssignment`\" pulumi-lang-dotnet=\"`DisableSecurityGroupAssignment`\" pulumi-lang-go=\"`disableSecurityGroupAssignment`\" pulumi-lang-python=\"`disable_security_group_assignment`\" pulumi-lang-yaml=\"`disableSecurityGroupAssignment`\" pulumi-lang-java=\"`disableSecurityGroupAssignment`\"\u003e`disableSecurityGroupAssignment`\u003c/span\u003e is 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.\n"
+ "description": "The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.\n"
},
"targetPools": {
"type": "array",
@@ -23994,6 +25053,7 @@
"externalAddress",
"id",
"listeners",
+ "loadBalancerSecurityGroupId",
"name",
"networks",
"options",
@@ -29163,6 +30223,10 @@
"outputs": {
"description": "A collection of values returned by getSkeCluster.\n",
"properties": {
+ "access": {
+ "$ref": "#/types/stackit:index/getSkeClusterAccess:getSkeClusterAccess",
+ "description": "Configure access to the cluster\n"
+ },
"egressAddressRanges": {
"type": "array",
"items": {
@@ -29230,6 +30294,7 @@
},
"type": "object",
"required": [
+ "access",
"egressAddressRanges",
"extensions",
"hibernations",
@@ -29950,6 +31015,115 @@
]
}
},
+ "stackit:index/getVpnConnection:getVpnConnection": {
+ "description": "VPN Connection data source schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \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 is defined on datasource level.\n\n## Example Usage\n\n```terraform\ndata \"stackit_vpn_connection\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n connection_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getVpnConnection.\n",
+ "properties": {
+ "connectionId": {
+ "type": "string",
+ "description": "The server-generated UUID of the VPN connection.\n"
+ },
+ "gatewayId": {
+ "type": "string",
+ "description": "The UUID of the parent VPN gateway.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connectionId",
+ "gatewayId",
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getVpnConnection.\n",
+ "properties": {
+ "connectionId": {
+ "type": "string",
+ "description": "The server-generated UUID of the VPN connection.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A user-friendly name for the connection.\n"
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether this connection is enabled.\n"
+ },
+ "gatewayId": {
+ "type": "string",
+ "description": "The UUID of the parent VPN gateway.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. Structured as \"\u003cspan pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\"\u003e`projectId`\u003c/span\u003e,\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,\u003cspan pulumi-lang-nodejs=\"`gatewayId`\" pulumi-lang-dotnet=\"`GatewayId`\" pulumi-lang-go=\"`gatewayId`\" pulumi-lang-python=\"`gateway_id`\" pulumi-lang-yaml=\"`gatewayId`\" pulumi-lang-java=\"`gatewayId`\"\u003e`gatewayId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`connectionId`\" pulumi-lang-dotnet=\"`ConnectionId`\" pulumi-lang-go=\"`connectionId`\" pulumi-lang-python=\"`connection_id`\" pulumi-lang-yaml=\"`connectionId`\" pulumi-lang-java=\"`connectionId`\"\u003e`connectionId`\u003c/span\u003e\".\n"
+ },
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Map of custom labels.\n"
+ },
+ "localSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of local IPv4 CIDRs to route through this connection.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "STACKIT region.\n"
+ },
+ "remoteSubnets": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of remote IPv4 CIDRs accessible via this connection.\n"
+ },
+ "staticRoutes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of static routes (IPv4 CIDRs) for route-based VPN.\n"
+ },
+ "tunnel1": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel1:getVpnConnectionTunnel1"
+ },
+ "tunnel2": {
+ "$ref": "#/types/stackit:index/getVpnConnectionTunnel2:getVpnConnectionTunnel2"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connectionId",
+ "displayName",
+ "enabled",
+ "gatewayId",
+ "id",
+ "labels",
+ "localSubnets",
+ "projectId",
+ "region",
+ "remoteSubnets",
+ "staticRoutes",
+ "tunnel1",
+ "tunnel2"
+ ]
+ }
+ },
"stackit:index/getVpnGateway:getVpnGateway": {
"description": "VPN Gateway data source schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \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 is defined on datasource level.\n\n## Example Usage\n\n```terraform\ndata \"stackit_vpn_gateway\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
"inputs": {
@@ -30031,6 +31205,76 @@
"routingType"
]
}
+ },
+ "stackit:index/getVpnGatewayStatus:getVpnGatewayStatus": {
+ "description": "VPN Gateway Status data source schema. Uses the \u003cspan pulumi-lang-nodejs=\"`defaultRegion`\" pulumi-lang-dotnet=\"`DefaultRegion`\" pulumi-lang-go=\"`defaultRegion`\" pulumi-lang-python=\"`default_region`\" pulumi-lang-yaml=\"`defaultRegion`\" pulumi-lang-java=\"`defaultRegion`\"\u003e`defaultRegion`\u003c/span\u003e specified in the provider configuration as a fallback in case no \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 is defined on datasource level.\n\n## Example Usage\n\n```terraform\ndata \"stackit_vpn_gateway_status\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n gateway_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getVpnGatewayStatus.\n",
+ "properties": {
+ "gatewayId": {
+ "type": "string",
+ "description": "The server-generated UUID of the VPN gateway.\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the VPN gateway.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "gatewayId",
+ "projectId"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getVpnGatewayStatus.\n",
+ "properties": {
+ "connections": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getVpnGatewayStatusConnection:getVpnGatewayStatusConnection"
+ },
+ "description": "List of connections in the VPN gateway.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A user-friendly name for the VPN gateway.\n"
+ },
+ "gatewayId": {
+ "type": "string",
+ "description": "The server-generated UUID of the VPN gateway.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "Terraform's internal resource identifier. Structured as \"\u003cspan pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\"\u003e`projectId`\u003c/span\u003e,\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,\u003cspan pulumi-lang-nodejs=\"`gatewayId`\" pulumi-lang-dotnet=\"`GatewayId`\" pulumi-lang-go=\"`gatewayId`\" pulumi-lang-python=\"`gateway_id`\" pulumi-lang-yaml=\"`gatewayId`\" pulumi-lang-java=\"`gatewayId`\"\u003e`gatewayId`\u003c/span\u003e\".\n"
+ },
+ "projectId": {
+ "type": "string",
+ "description": "STACKIT project ID associated with the VPN gateway.\n"
+ },
+ "region": {
+ "type": "string",
+ "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n"
+ },
+ "tunnels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/stackit:index/getVpnGatewayStatusTunnel:getVpnGatewayStatusTunnel"
+ },
+ "description": "List of the VPN tunnels in the gateway.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connections",
+ "displayName",
+ "gatewayId",
+ "id",
+ "projectId",
+ "region",
+ "tunnels"
+ ]
+ }
}
}
}
\ No newline at end of file
diff --git a/provider/go.mod b/provider/go.mod
index 8bec47b..4debad2 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -197,43 +197,43 @@ require (
github.com/spf13/pflag v1.0.10 // indirect
github.com/spiffe/go-spiffe/v2 v2.6.0 // indirect
github.com/stackitcloud/stackit-sdk-go/core v0.26.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 // indirect
- github.com/stackitcloud/terraform-provider-stackit v0.99.0 // indirect
+ github.com/stackitcloud/terraform-provider-stackit v0.101.0 // indirect
github.com/teambition/rrule-go v1.8.2 // indirect
github.com/teekennedy/goldmark-markdown v0.3.0 // indirect
github.com/texttheater/golang-levenshtein v1.0.1 // indirect
@@ -264,17 +264,17 @@ require (
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
- golang.org/x/crypto v0.50.0 // indirect
+ golang.org/x/crypto v0.51.0 // indirect
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect
- golang.org/x/mod v0.36.0 // indirect
- golang.org/x/net v0.53.0 // indirect
+ golang.org/x/mod v0.37.0 // indirect
+ golang.org/x/net v0.54.0 // indirect
golang.org/x/oauth2 v0.36.0 // indirect
golang.org/x/sync v0.20.0 // indirect
- golang.org/x/sys v0.43.0 // indirect
- golang.org/x/term v0.42.0 // indirect
- golang.org/x/text v0.36.0 // indirect
+ golang.org/x/sys v0.44.0 // indirect
+ golang.org/x/term v0.43.0 // indirect
+ golang.org/x/text v0.37.0 // indirect
golang.org/x/time v0.15.0 // indirect
- golang.org/x/tools v0.44.0 // indirect
+ golang.org/x/tools v0.45.0 // indirect
google.golang.org/api v0.271.0 // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/genproto v0.0.0-20260128011058-8636f8732409 // indirect
diff --git a/provider/go.sum b/provider/go.sum
index f29eb99..f519f4b 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -646,80 +646,80 @@ github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.6 h1:HxckjrBBHZ+c2SAcF
github.com/stackitcloud/pulumi-stackit/provider/shim v0.0.6/go.mod h1:XfgIyIgXyLYqtYtxiIcvxxW20cCJmiPv1UDoecT9T/Q=
github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10cz4l0KM2L6hqYBH2QA=
github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2 h1:hGzfOJjlCRoFpri5eYIiwhE27qu02pKZLprKvbsTC/w=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0 h1:GDiNrm0A1KIHARcx6xI2I4PvNEWJuNysP3w1M/9WYps=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww=
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vwxlVmNNX91kI3obqGcuoPAyaCbDL5aCMQ/sNg=
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2/go.mod h1:T/JF25XGJ3GqER/1L2N//DgY8x5tY7gA3N+/0nvmOWY=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0 h1:Wqxx0PDTL2F5gqI5jjznuJY0TdqECltjA0aa/rHY63U=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0/go.mod h1:MHB1N3EQ9GuAduAQoNS+gb1MjrWJieszbpOso9TQv5s=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0 h1:J7BVVHjRTS5YUyGf6DZEIE1uD9f/S4v9dDbpZWVEd3U=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 h1:nMJRg1dKioOlMwXJnZZgIRwfTWYCksVA9GyfAVmib1g=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 h1:cEInAiHfsf8l3utWktJHyNLnJ2zeK6X3vzTJu9wBnEc=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0/go.mod h1:MHB1N3EQ9GuAduAQoNS+gb1MjrWJieszbpOso9TQv5s=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 h1:bINitVHAyfFfRhkt8/eXDXEjpuH72n9HykZhthGkEg4=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 h1:LKreLAR425+EMYbKrPIAzeoTEQlDF8EpIMTVBpOhjmA=
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0 h1:/JUxaJSGmg+PRj90e4fngWkXNQkRKHOYpVykJ3zoy7w=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0 h1:BdamSnGYhDkDqUWQQcJ8Kqik90laTK1IlG5CQqyLVgA=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 h1:qPhNo5m0K9ZKMnUx7e23fmvBmhOCxIFRzobwFhSHWUY=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 h1:H4V3H8qSKOaOalIrf4nAPDHhXnHYGs6SDGuK8Zj41Zo=
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4=
-github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0 h1:vtKZgDNsrZTr8jnQPPLsGV5BHuJa2VroOdeXtgUpGkk=
-github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0 h1:/xPQvEaSbysmIKL/wtTYiweEe74P9iCzzyIA7ZHY8FU=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0 h1:UuLNwFHjJCpL11y4F7B9oBKtZkxpu01VkNPILNkpex4=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0 h1:zsZaPr15UkjLuNhOiF+K7dikhenZAd+sQuEvTlGnkvg=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0 h1:m/FSPciEqsci1e7Ph2Nn+XyV+1bNPCLDfm1rm42xjAk=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0 h1:dLXdQRTVSkb8ttCgimbbW1fvcmMFa2BmRgyxYD2OpFE=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0 h1:k2mkHQkfzLH53dL1tHZo8pbpu062aQIgQmAw5OSZpss=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0 h1:lp9qX4sworFipMIKPORxuNZlVHDrpqZLppQN5YKGsP4=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
+github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U=
+github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 h1:OrUaDypQNr1nOXZfVQXCwUpN4YhR5y0vtvYi9/Ogoi4=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 h1:1dvL7tX91ziklayQmOupniE3jM4D5Nbtc0auNcx2p18=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0 h1:DRDcjKXVrF/iN82L7BRDM6EZNZqTj3HKSK5ErcLGxro=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 h1:G/OqKHAgmH/GgqagGaow1aV6jkmVdTCexCM425PbXaE=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 h1:LfcQ++Z8a13jrJ5NOaCY/hwToh/e+QJj0eS6rd6s6k8=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0 h1:mjcTktPsrqN/XvtuYs0O23n1lbbYkY5lvSxrNtzfaPs=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 h1:T+ll3lS0Kn18d8hTOrVAMKcQrXiab+Cuj0cTnAYHmj0=
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0/go.mod h1:QsPtoqAYvumyPU6ToX/5j1PbudN+VSTuvh6mp154ecM=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0 h1:kgD32fG3rkdGz0C+kZ1S7BEur7btTSeaX3vxHE346FY=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0 h1:Bu8/UzMCAN8VyaEnz5O15zK+8xSV0kf8ndYXvwkNwOk=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0 h1:oWTviJKdlUxaaARJghTjOqBbarIK+7+nH3Kc3Wxn4rQ=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0 h1:zAFgiybClUjSaSKkGRfxKRiPmuJI7j5bnb+41/Zhtm8=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 h1:9s8yUxXEORj/ChLLf5vGdjmMC3PhDlYRIVd4v23Uavg=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0 h1:u2C3oHNcc41Ba5cUqSPuqviDrYSRhpaC5+ELbuHHdwM=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0/go.mod h1:NEz3f+GV5G++BE9/MmZCsXJyCih7jtg0pZuSyG2sLEs=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr1hl8BFLGLSi6wjxh5o6OQXH9amfquMhYQROU=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0 h1:xJ/rhcMTV2pZ+s9PX/Q7+f4amNqn+kBl0t62cJ6xfko=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0 h1:Ia8FWqG14hkl7rWAUDjSKwd+8NPvrPGOpUC0jLB1sR0=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0 h1:kHdXzMcYPLRwidoQuNu1U12PmqCBNqpTS+U82rB9HtY=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0 h1:JsHchCTVpCVUB0KQyjzlFEwJEdorql6pBpXtqQDjtqU=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 h1:JPP6a0ME1tZXr4iB69d/LtJsCAr58ENBadFaK9f48/c=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0/go.mod h1:NEz3f+GV5G++BE9/MmZCsXJyCih7jtg0pZuSyG2sLEs=
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0 h1:pwcGFeU2b6DLOGQGNbbw91zN0qIlBan4d7DGtGGZEEY=
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0/go.mod h1:w3rXz3Klz5XxpI7eXpvZTYlu8LQkZJiFxKg6DNBgenQ=
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 h1:U5rstX5e6Am2t+Ukv5K1Sbftzxt5aFALMa9YS4jCJoo=
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1/go.mod h1:2XA8PE05Qg6BL2YXO4XgfGI9qskJ3cicLE5Qq0aqDdY=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 h1:NCGehrXvtpFaeH85fU1DWisf3+IgqoGUERY70UfwTUU=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0 h1:U3bm+RVHD1USpB6Fk9WNfPQxK0x0DY7ubusmRSh/A/8=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYPCrZOc3JMmvyDNs4hm+JR5p9O3DIfFGgnbo=
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2/go.mod h1:/OHYZXQb9KXDdZK5J9C2YS6DJUD2i6ednZ1rK7zpDZ0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0 h1:VDGfv4VUKo+yogizhjKLzcNa5CR28q6uWDLQs5ntgO0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0/go.mod h1:xJNa86o89czK2o60+s46vz8+NSKDTbQduFGFaztJnsA=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0 h1:4ufJ4Iti/6ImdUfHVUToDgwBeDJZdr4Pqff60YAHsag=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1 h1:t1kx4zz/6eHpJGOnWnX0+KsS3KLlPDFo2gE11pZkdqg=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 h1:4/xfpcqHLkKkaVS/HOOIWa3n7Z/O0DysPc+/+FVSltE=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0/go.mod h1:xJNa86o89czK2o60+s46vz8+NSKDTbQduFGFaztJnsA=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 h1:TNZHrunhsXRbuqZcucLs2Gqy1sEyvabufM7pB5Tscmo=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 h1:YhQ2GF+AyHVUps1iEjLj7z6OlzBzMGyD5nwHaZ0pXus=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0 h1:6Umom7V12bVa7D3dnMJAKj/GWg7wqR9FpqmZ8TjsO1Q=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0 h1:PwjQeupEnXxhu+uWCUzO/hUfL4yqNblOcZbP2jvaQtU=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0 h1:w7l3Z7lkDKnJ+3rudGjZ8GMKxGmpIS5dT6pO9MMNWqQ=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0 h1:U1mQoCk0TXc8NsSc/Sl9PKMdEyJpWNU2zLnsqmx6wEc=
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0/go.mod h1:hgw8janWmDfP2bnuZensxqcAePr49BX5ug8Rq85o+h8=
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 h1:MEvzGItcbig+9A4JvK2E5W6/mqXDPafiGkDZ1BprBAI=
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0/go.mod h1:WUmgKtwpe90Yq3YbgNxc2clTTULVxCu0ha6lMTjUnII=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 h1:LMgbzhPunuelsIsfyEj/5O/aYfNcg/eGHsnZ7AZOhYg=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0/go.mod h1:toIjQk1dhxdUFVyCWJJja0w/0nFpDid8MWX0ukQfvfo=
-github.com/stackitcloud/terraform-provider-stackit v0.99.0 h1:021WSUI9FAjKRGydvSI7Tyx3YBM/stpUWlI6M/GmJj0=
-github.com/stackitcloud/terraform-provider-stackit v0.99.0/go.mod h1:cIMzSack8qVmjWtBrh5ZFOxCnBQdgnzMQlfeseSsTH4=
+github.com/stackitcloud/terraform-provider-stackit v0.101.0 h1:kUdoLhDBc5jZZ9AXdkYHj2Wjbub4SdZZFxpDPNwJJ24=
+github.com/stackitcloud/terraform-provider-stackit v0.101.0/go.mod h1:vonoXPG6YtJyDfb99hriRBa9Un8ZIFG9kHMoO5Gjr8E=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY=
github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA=
@@ -843,8 +843,8 @@ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPh
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
-golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
-golang.org/x/crypto v0.50.0/go.mod h1:3muZ7vA7PBCE6xgPX7nkzzjiUq87kRItoJQM1Yo8S+Q=
+golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI=
+golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f h1:W3F4c+6OLc6H2lb//N1q4WpJkhzJCK5J6kUi1NTVXfM=
@@ -861,8 +861,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
-golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
-golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ=
+golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ=
+golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
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=
@@ -882,8 +882,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
-golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
-golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
+golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
+golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
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=
@@ -933,13 +933,13 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
-golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
+golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
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=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
-golang.org/x/term v0.42.0 h1:UiKe+zDFmJobeJ5ggPwOshJIVt6/Ft0rcfrXZDLWAWY=
-golang.org/x/term v0.42.0/go.mod h1:Dq/D+snpsbazcBG5+F9Q1n2rXV8Ma+71xEjTRufARgY=
+golang.org/x/term v0.43.0 h1:S4RLU2sB31O/NCl+zFN9Aru9A/Cq2aqKpTZJ6B+DwT4=
+golang.org/x/term v0.43.0/go.mod h1:lrhlHNdQJHO+1qVYiHfFKVuVioJIheAc3fBSMFYEIsk=
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=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
@@ -948,8 +948,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
-golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
+golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
+golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
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.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U=
@@ -971,8 +971,8 @@ golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapK
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
-golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
+golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8=
+golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0=
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 ef0049e..aa8576c 100644
--- a/provider/shim/go.mod
+++ b/provider/shim/go.mod
@@ -2,20 +2,20 @@ module github.com/stackitcloud/pulumi-stackit/provider/shim
go 1.26.0
-require github.com/stackitcloud/terraform-provider-stackit v0.99.0
+require github.com/stackitcloud/terraform-provider-stackit v0.101.0
require (
github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/terraform-plugin-framework-timeouts v0.7.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 // indirect
@@ -38,32 +38,32 @@ require (
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/stackitcloud/stackit-sdk-go/core v0.26.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 // indirect
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0 // indirect
- github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0 // indirect
+ github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0 // indirect
github.com/teambition/rrule-go v1.8.2 // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
- golang.org/x/mod v0.36.0 // indirect
- golang.org/x/sys v0.43.0 // indirect
+ golang.org/x/mod v0.37.0 // indirect
+ golang.org/x/sys v0.44.0 // indirect
)
diff --git a/provider/shim/go.sum b/provider/shim/go.sum
index a324c94..8c7ec68 100644
--- a/provider/shim/go.sum
+++ b/provider/shim/go.sum
@@ -85,80 +85,80 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/stackitcloud/stackit-sdk-go/core v0.26.0 h1:jQEb9gkehfp6VCP6TcYk7BI10cz4l0KM2L6hqYBH2QA=
github.com/stackitcloud/stackit-sdk-go/core v0.26.0/go.mod h1:WU1hhxnjXw2EV7CYa1nlEvNpMiRY6CvmIOaHuL3pOaA=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2 h1:hGzfOJjlCRoFpri5eYIiwhE27qu02pKZLprKvbsTC/w=
-github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0 h1:GDiNrm0A1KIHARcx6xI2I4PvNEWJuNysP3w1M/9WYps=
+github.com/stackitcloud/stackit-sdk-go/services/alb v0.15.0/go.mod h1:eK6oRB5Tmpt6KbXQ4UYBGg2LgW5bPtVoncL9E8JSRww=
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vwxlVmNNX91kI3obqGcuoPAyaCbDL5aCMQ/sNg=
github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2/go.mod h1:T/JF25XGJ3GqER/1L2N//DgY8x5tY7gA3N+/0nvmOWY=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0 h1:Wqxx0PDTL2F5gqI5jjznuJY0TdqECltjA0aa/rHY63U=
-github.com/stackitcloud/stackit-sdk-go/services/cdn v1.16.0/go.mod h1:MHB1N3EQ9GuAduAQoNS+gb1MjrWJieszbpOso9TQv5s=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0 h1:J7BVVHjRTS5YUyGf6DZEIE1uD9f/S4v9dDbpZWVEd3U=
-github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2 h1:nMJRg1dKioOlMwXJnZZgIRwfTWYCksVA9GyfAVmib1g=
-github.com/stackitcloud/stackit-sdk-go/services/dns v0.20.2/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0 h1:cEInAiHfsf8l3utWktJHyNLnJ2zeK6X3vzTJu9wBnEc=
+github.com/stackitcloud/stackit-sdk-go/services/cdn v1.18.0/go.mod h1:MHB1N3EQ9GuAduAQoNS+gb1MjrWJieszbpOso9TQv5s=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0 h1:bINitVHAyfFfRhkt8/eXDXEjpuH72n9HykZhthGkEg4=
+github.com/stackitcloud/stackit-sdk-go/services/certificates v1.8.0/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0 h1:ZVkptfVCAqpaPWkE+WIopM9XdzqgbVcwmX5L1jZqqx8=
+github.com/stackitcloud/stackit-sdk-go/services/dns v0.21.0/go.mod h1:FiYSv3D9rzgEVzi8Mpq5oYZBosrasa5uUYqVdEIbM1U=
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0 h1:LKreLAR425+EMYbKrPIAzeoTEQlDF8EpIMTVBpOhjmA=
github.com/stackitcloud/stackit-sdk-go/services/dremio v0.3.0/go.mod h1:iMoiM8fM1mXC1Nz8FBiiQ08Yh+0C3yN0GPCdAbOlRXo=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0 h1:/JUxaJSGmg+PRj90e4fngWkXNQkRKHOYpVykJ3zoy7w=
-github.com/stackitcloud/stackit-sdk-go/services/edge v0.11.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0 h1:BdamSnGYhDkDqUWQQcJ8Kqik90laTK1IlG5CQqyLVgA=
-github.com/stackitcloud/stackit-sdk-go/services/git v0.13.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0 h1:qPhNo5m0K9ZKMnUx7e23fmvBmhOCxIFRzobwFhSHWUY=
+github.com/stackitcloud/stackit-sdk-go/services/edge v0.12.0/go.mod h1:Ylse6gqGJtsd5TVmvha+hoLd1QQHLKvhY5dO15+q5kg=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0 h1:VZBneGprCmHqckcSMPs3puBlK8rBpLMtYKmBktwdoVE=
+github.com/stackitcloud/stackit-sdk-go/services/git v0.14.0/go.mod h1:YZEL+gaK+ELn5E9VtK8yvz5RcmCBH+JkRpf6YbNVSbM=
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0 h1:H4V3H8qSKOaOalIrf4nAPDHhXnHYGs6SDGuK8Zj41Zo=
github.com/stackitcloud/stackit-sdk-go/services/iaas v1.12.0/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4=
-github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0 h1:vtKZgDNsrZTr8jnQPPLsGV5BHuJa2VroOdeXtgUpGkk=
-github.com/stackitcloud/stackit-sdk-go/services/intake v0.9.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0 h1:/xPQvEaSbysmIKL/wtTYiweEe74P9iCzzyIA7ZHY8FU=
-github.com/stackitcloud/stackit-sdk-go/services/kms v1.10.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0 h1:UuLNwFHjJCpL11y4F7B9oBKtZkxpu01VkNPILNkpex4=
-github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.13.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0 h1:zsZaPr15UkjLuNhOiF+K7dikhenZAd+sQuEvTlGnkvg=
-github.com/stackitcloud/stackit-sdk-go/services/logme v0.29.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0 h1:m/FSPciEqsci1e7Ph2Nn+XyV+1bNPCLDfm1rm42xjAk=
-github.com/stackitcloud/stackit-sdk-go/services/logs v0.9.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0 h1:dLXdQRTVSkb8ttCgimbbW1fvcmMFa2BmRgyxYD2OpFE=
-github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.29.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0 h1:k2mkHQkfzLH53dL1tHZo8pbpu062aQIgQmAw5OSZpss=
-github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.10.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0 h1:lp9qX4sworFipMIKPORxuNZlVHDrpqZLppQN5YKGsP4=
-github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.10.0/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
+github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0 h1:zuZIWgm8ak6aOyvgHouIBSoAnUkNBy4HMSba5AHYI7U=
+github.com/stackitcloud/stackit-sdk-go/services/intake v0.11.0/go.mod h1:UXhPs7JXjQvTp14d4ZffSLnFMQyB7y1cj100XWwQudI=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0 h1:OrUaDypQNr1nOXZfVQXCwUpN4YhR5y0vtvYi9/Ogoi4=
+github.com/stackitcloud/stackit-sdk-go/services/kms v1.11.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0 h1:1dvL7tX91ziklayQmOupniE3jM4D5Nbtc0auNcx2p18=
+github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.14.0/go.mod h1:+Ld3dn648I+YKcBV3fEkYpDSr3fel421+LurJGywSBs=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0 h1:DRDcjKXVrF/iN82L7BRDM6EZNZqTj3HKSK5ErcLGxro=
+github.com/stackitcloud/stackit-sdk-go/services/logme v1.0.0/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0 h1:g7zpfQFFq3UhAWrMK9rPaZY6dLMAuMJf5g6+r7VRTXc=
+github.com/stackitcloud/stackit-sdk-go/services/logs v0.10.0/go.mod h1:tvRejL8w5KpGBbLFPQ+dXOJURgZ3OMbZmwxlKQrGMuA=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0 h1:G/OqKHAgmH/GgqagGaow1aV6jkmVdTCexCM425PbXaE=
+github.com/stackitcloud/stackit-sdk-go/services/mariadb v1.0.0/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0 h1:LfcQ++Z8a13jrJ5NOaCY/hwToh/e+QJj0eS6rd6s6k8=
+github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.11.0/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0 h1:mjcTktPsrqN/XvtuYs0O23n1lbbYkY5lvSxrNtzfaPs=
+github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.11.0/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q=
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0 h1:T+ll3lS0Kn18d8hTOrVAMKcQrXiab+Cuj0cTnAYHmj0=
github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.9.0/go.mod h1:QsPtoqAYvumyPU6ToX/5j1PbudN+VSTuvh6mp154ecM=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0 h1:kgD32fG3rkdGz0C+kZ1S7BEur7btTSeaX3vxHE346FY=
-github.com/stackitcloud/stackit-sdk-go/services/observability v0.23.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0 h1:Bu8/UzMCAN8VyaEnz5O15zK+8xSV0kf8ndYXvwkNwOk=
-github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.28.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0 h1:oWTviJKdlUxaaARJghTjOqBbarIK+7+nH3Kc3Wxn4rQ=
-github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.8.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0 h1:zAFgiybClUjSaSKkGRfxKRiPmuJI7j5bnb+41/Zhtm8=
-github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.30.0/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2 h1:9s8yUxXEORj/ChLLf5vGdjmMC3PhDlYRIVd4v23Uavg=
-github.com/stackitcloud/stackit-sdk-go/services/redis v0.28.2/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0 h1:u2C3oHNcc41Ba5cUqSPuqviDrYSRhpaC5+ELbuHHdwM=
-github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.23.0/go.mod h1:NEz3f+GV5G++BE9/MmZCsXJyCih7jtg0pZuSyG2sLEs=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0 h1:KhuWPXr1hl8BFLGLSi6wjxh5o6OQXH9amfquMhYQROU=
+github.com/stackitcloud/stackit-sdk-go/services/observability v0.24.0/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0 h1:xJ/rhcMTV2pZ+s9PX/Q7+f4amNqn+kBl0t62cJ6xfko=
+github.com/stackitcloud/stackit-sdk-go/services/opensearch v1.0.0/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0 h1:Ia8FWqG14hkl7rWAUDjSKwd+8NPvrPGOpUC0jLB1sR0=
+github.com/stackitcloud/stackit-sdk-go/services/postgresflex v1.10.0/go.mod h1:yzlakB+f8ur4yAHR6lyCABO+HcEtZG3G2Faj6m5/uW8=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0 h1:kHdXzMcYPLRwidoQuNu1U12PmqCBNqpTS+U82rB9HtY=
+github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v1.0.0/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0 h1:JsHchCTVpCVUB0KQyjzlFEwJEdorql6pBpXtqQDjtqU=
+github.com/stackitcloud/stackit-sdk-go/services/redis v1.0.0/go.mod h1:yjej6QfYoYdRIyKXlmbVz8fZYxbuUdl+QBkvLDPgA4k=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0 h1:JPP6a0ME1tZXr4iB69d/LtJsCAr58ENBadFaK9f48/c=
+github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.24.0/go.mod h1:NEz3f+GV5G++BE9/MmZCsXJyCih7jtg0pZuSyG2sLEs=
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0 h1:pwcGFeU2b6DLOGQGNbbw91zN0qIlBan4d7DGtGGZEEY=
github.com/stackitcloud/stackit-sdk-go/services/scf v0.9.0/go.mod h1:w3rXz3Klz5XxpI7eXpvZTYlu8LQkZJiFxKg6DNBgenQ=
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1 h1:U5rstX5e6Am2t+Ukv5K1Sbftzxt5aFALMa9YS4jCJoo=
github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.18.1/go.mod h1:2XA8PE05Qg6BL2YXO4XgfGI9qskJ3cicLE5Qq0aqDdY=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 h1:NCGehrXvtpFaeH85fU1DWisf3+IgqoGUERY70UfwTUU=
-github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0 h1:U3bm+RVHD1USpB6Fk9WNfPQxK0x0DY7ubusmRSh/A/8=
+github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.7.0/go.mod h1:BJeafbecuocdirGCAJ2Vz/rPSK/LRrB5lPBEacqd1eU=
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYPCrZOc3JMmvyDNs4hm+JR5p9O3DIfFGgnbo=
github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2/go.mod h1:/OHYZXQb9KXDdZK5J9C2YS6DJUD2i6ednZ1rK7zpDZ0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0 h1:VDGfv4VUKo+yogizhjKLzcNa5CR28q6uWDLQs5ntgO0=
-github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.19.0/go.mod h1:xJNa86o89czK2o60+s46vz8+NSKDTbQduFGFaztJnsA=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0 h1:4ufJ4Iti/6ImdUfHVUToDgwBeDJZdr4Pqff60YAHsag=
-github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1 h1:t1kx4zz/6eHpJGOnWnX0+KsS3KLlPDFo2gE11pZkdqg=
-github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.1/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0 h1:4/xfpcqHLkKkaVS/HOOIWa3n7Z/O0DysPc+/+FVSltE=
+github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.20.0/go.mod h1:xJNa86o89czK2o60+s46vz8+NSKDTbQduFGFaztJnsA=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0 h1:TNZHrunhsXRbuqZcucLs2Gqy1sEyvabufM7pB5Tscmo=
+github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.7.0/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0 h1:YhQ2GF+AyHVUps1iEjLj7z6OlzBzMGyD5nwHaZ0pXus=
+github.com/stackitcloud/stackit-sdk-go/services/sfs v0.11.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0 h1:6Umom7V12bVa7D3dnMJAKj/GWg7wqR9FpqmZ8TjsO1Q=
github.com/stackitcloud/stackit-sdk-go/services/ske v1.18.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0 h1:PwjQeupEnXxhu+uWCUzO/hUfL4yqNblOcZbP2jvaQtU=
-github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.11.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0 h1:w7l3Z7lkDKnJ+3rudGjZ8GMKxGmpIS5dT6pO9MMNWqQ=
+github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.13.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M=
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0 h1:U1mQoCk0TXc8NsSc/Sl9PKMdEyJpWNU2zLnsqmx6wEc=
github.com/stackitcloud/stackit-sdk-go/services/telemetrylink v0.2.0/go.mod h1:hgw8janWmDfP2bnuZensxqcAePr49BX5ug8Rq85o+h8=
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0 h1:MEvzGItcbig+9A4JvK2E5W6/mqXDPafiGkDZ1BprBAI=
github.com/stackitcloud/stackit-sdk-go/services/telemetryrouter v0.3.0/go.mod h1:WUmgKtwpe90Yq3YbgNxc2clTTULVxCu0ha6lMTjUnII=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0 h1:LMgbzhPunuelsIsfyEj/5O/aYfNcg/eGHsnZ7AZOhYg=
github.com/stackitcloud/stackit-sdk-go/services/vpn v0.14.0/go.mod h1:toIjQk1dhxdUFVyCWJJja0w/0nFpDid8MWX0ukQfvfo=
-github.com/stackitcloud/terraform-provider-stackit v0.99.0 h1:021WSUI9FAjKRGydvSI7Tyx3YBM/stpUWlI6M/GmJj0=
-github.com/stackitcloud/terraform-provider-stackit v0.99.0/go.mod h1:cIMzSack8qVmjWtBrh5ZFOxCnBQdgnzMQlfeseSsTH4=
+github.com/stackitcloud/terraform-provider-stackit v0.101.0 h1:kUdoLhDBc5jZZ9AXdkYHj2Wjbub4SdZZFxpDPNwJJ24=
+github.com/stackitcloud/terraform-provider-stackit v0.101.0/go.mod h1:vonoXPG6YtJyDfb99hriRBa9Un8ZIFG9kHMoO5Gjr8E=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals=
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
@@ -172,11 +172,11 @@ github.com/vmihailenco/msgpack/v5 v5.4.1/go.mod h1:GaZTsDaehaPpQVyxrf5mtQlH+pc21
github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g=
github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds=
github.com/zclconf/go-cty v1.18.1 h1:yEGE8M4iIZlyKQURZNb2SnEyZlZHUcBCnx6KF81KuwM=
-golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI=
-golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4=
-golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ=
-golang.org/x/net v0.53.0 h1:d+qAbo5L0orcWAr0a9JweQpjXF19LMXJE8Ey7hwOdUA=
-golang.org/x/net v0.53.0/go.mod h1:JvMuJH7rrdiCfbeHoo3fCQU24Lf5JJwT9W3sJFulfgs=
+golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI=
+golang.org/x/mod v0.37.0 h1:vF1DjpVEshcIqoEaauuHebaLk1O1forxjxBaVn884JQ=
+golang.org/x/mod v0.37.0/go.mod h1:m8S8VeM9r4dzDwjrKO0a1sZP3YjeMamRRlD+fmR2Q/0=
+golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w=
+golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ=
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -185,12 +185,11 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
-golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
-golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
-golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
-golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c=
-golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI=
+golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ=
+golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
+golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc=
+golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38=
+golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8=
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-20260401024825-9d38bb4040a9 h1:m8qni9SQFH0tJc1X0vmnpw/0t+AImlSvp30sEupozUg=
diff --git a/sdk/dotnet/GetIntakeRunner.cs b/sdk/dotnet/GetIntakeRunner.cs
index 679c58f..2506744 100644
--- a/sdk/dotnet/GetIntakeRunner.cs
+++ b/sdk/dotnet/GetIntakeRunner.cs
@@ -114,6 +114,10 @@ public GetIntakeRunnerInvokeArgs()
[OutputType]
public sealed class GetIntakeRunnerResult
{
+ ///
+ /// The creation time of the runner.
+ ///
+ public readonly string CreateTime;
///
/// The description of the runner.
///
@@ -150,9 +154,15 @@ public sealed class GetIntakeRunnerResult
/// The runner ID.
///
public readonly string RunnerId;
+ ///
+ /// The URI of the runner.
+ ///
+ public readonly string Uri;
[OutputConstructor]
private GetIntakeRunnerResult(
+ string createTime,
+
string description,
string id,
@@ -169,8 +179,11 @@ private GetIntakeRunnerResult(
string? region,
- string runnerId)
+ string runnerId,
+
+ string uri)
{
+ CreateTime = createTime;
Description = description;
Id = id;
Labels = labels;
@@ -180,6 +193,7 @@ private GetIntakeRunnerResult(
ProjectId = projectId;
Region = region;
RunnerId = runnerId;
+ Uri = uri;
}
}
}
diff --git a/sdk/dotnet/GetLoadbalancer.cs b/sdk/dotnet/GetLoadbalancer.cs
index 626045e..26939f9 100644
--- a/sdk/dotnet/GetLoadbalancer.cs
+++ b/sdk/dotnet/GetLoadbalancer.cs
@@ -131,6 +131,10 @@ public sealed class GetLoadbalancerResult
///
public readonly ImmutableArray Listeners;
///
+ /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ ///
+ public readonly string LoadBalancerSecurityGroupId;
+ ///
/// Load balancer name.
///
public readonly string Name;
@@ -159,7 +163,7 @@ public sealed class GetLoadbalancerResult
///
public readonly string? Region;
///
- /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT Network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ /// The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.
///
public readonly string SecurityGroupId;
///
@@ -181,6 +185,8 @@ private GetLoadbalancerResult(
ImmutableArray listeners,
+ string loadBalancerSecurityGroupId,
+
string name,
ImmutableArray networks,
@@ -205,6 +211,7 @@ private GetLoadbalancerResult(
ExternalAddress = externalAddress;
Id = id;
Listeners = listeners;
+ LoadBalancerSecurityGroupId = loadBalancerSecurityGroupId;
Name = name;
Networks = networks;
Options = options;
diff --git a/sdk/dotnet/GetSkeCluster.cs b/sdk/dotnet/GetSkeCluster.cs
index 4571ce5..a264108 100644
--- a/sdk/dotnet/GetSkeCluster.cs
+++ b/sdk/dotnet/GetSkeCluster.cs
@@ -114,6 +114,10 @@ public GetSkeClusterInvokeArgs()
[OutputType]
public sealed class GetSkeClusterResult
{
+ ///
+ /// Configure access to the cluster
+ ///
+ public readonly Outputs.GetSkeClusterAccessResult Access;
///
/// The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.
///
@@ -169,6 +173,8 @@ public sealed class GetSkeClusterResult
[OutputConstructor]
private GetSkeClusterResult(
+ Outputs.GetSkeClusterAccessResult access,
+
ImmutableArray egressAddressRanges,
Outputs.GetSkeClusterExtensionsResult extensions,
@@ -195,6 +201,7 @@ private GetSkeClusterResult(
string? region)
{
+ Access = access;
EgressAddressRanges = egressAddressRanges;
Extensions = extensions;
Hibernations = hibernations;
diff --git a/sdk/dotnet/GetVpnConnection.cs b/sdk/dotnet/GetVpnConnection.cs
new file mode 100644
index 0000000..0f0d56d
--- /dev/null
+++ b/sdk/dotnet/GetVpnConnection.cs
@@ -0,0 +1,210 @@
+// *** 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 GetVpnConnection
+ {
+ ///
+ /// VPN Connection data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_connection" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// connection_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetVpnConnectionArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpnConnection:getVpnConnection", args ?? new GetVpnConnectionArgs(), options.WithDefaults());
+
+ ///
+ /// VPN Connection data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_connection" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// connection_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetVpnConnectionInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnConnection:getVpnConnection", args ?? new GetVpnConnectionInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// VPN Connection data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_connection" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// connection_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetVpnConnectionInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnConnection:getVpnConnection", args ?? new GetVpnConnectionInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnConnectionArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The server-generated UUID of the VPN connection.
+ ///
+ [Input("connectionId", required: true)]
+ public string ConnectionId { get; set; } = null!;
+
+ ///
+ /// The UUID of the parent VPN gateway.
+ ///
+ [Input("gatewayId", required: true)]
+ public string GatewayId { get; set; } = null!;
+
+ ///
+ /// STACKIT project ID.
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ public GetVpnConnectionArgs()
+ {
+ }
+ public static new GetVpnConnectionArgs Empty => new GetVpnConnectionArgs();
+ }
+
+ public sealed class GetVpnConnectionInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The server-generated UUID of the VPN connection.
+ ///
+ [Input("connectionId", required: true)]
+ public Input ConnectionId { get; set; } = null!;
+
+ ///
+ /// The UUID of the parent VPN gateway.
+ ///
+ [Input("gatewayId", required: true)]
+ public Input GatewayId { get; set; } = null!;
+
+ ///
+ /// STACKIT project ID.
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ public GetVpnConnectionInvokeArgs()
+ {
+ }
+ public static new GetVpnConnectionInvokeArgs Empty => new GetVpnConnectionInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnConnectionResult
+ {
+ ///
+ /// The server-generated UUID of the VPN connection.
+ ///
+ public readonly string ConnectionId;
+ ///
+ /// A user-friendly name for the connection.
+ ///
+ public readonly string DisplayName;
+ ///
+ /// Whether this connection is enabled.
+ ///
+ public readonly bool Enabled;
+ ///
+ /// The UUID of the parent VPN gateway.
+ ///
+ public readonly string GatewayId;
+ ///
+ /// Terraform's internal resource identifier. Structured as "`ProjectId`,`Region`,`GatewayId`,`ConnectionId`".
+ ///
+ public readonly string Id;
+ ///
+ /// Map of custom labels.
+ ///
+ public readonly ImmutableDictionary Labels;
+ ///
+ /// List of local IPv4 CIDRs to route through this connection.
+ ///
+ public readonly ImmutableArray LocalSubnets;
+ ///
+ /// STACKIT project ID.
+ ///
+ public readonly string ProjectId;
+ ///
+ /// STACKIT region.
+ ///
+ public readonly string Region;
+ ///
+ /// List of remote IPv4 CIDRs accessible via this connection.
+ ///
+ public readonly ImmutableArray RemoteSubnets;
+ ///
+ /// List of static routes (IPv4 CIDRs) for route-based VPN.
+ ///
+ public readonly ImmutableArray StaticRoutes;
+ public readonly Outputs.GetVpnConnectionTunnel1Result Tunnel1;
+ public readonly Outputs.GetVpnConnectionTunnel2Result Tunnel2;
+
+ [OutputConstructor]
+ private GetVpnConnectionResult(
+ string connectionId,
+
+ string displayName,
+
+ bool enabled,
+
+ string gatewayId,
+
+ string id,
+
+ ImmutableDictionary labels,
+
+ ImmutableArray localSubnets,
+
+ string projectId,
+
+ string region,
+
+ ImmutableArray remoteSubnets,
+
+ ImmutableArray staticRoutes,
+
+ Outputs.GetVpnConnectionTunnel1Result tunnel1,
+
+ Outputs.GetVpnConnectionTunnel2Result tunnel2)
+ {
+ ConnectionId = connectionId;
+ DisplayName = displayName;
+ Enabled = enabled;
+ GatewayId = gatewayId;
+ Id = id;
+ Labels = labels;
+ LocalSubnets = localSubnets;
+ ProjectId = projectId;
+ Region = region;
+ RemoteSubnets = remoteSubnets;
+ StaticRoutes = staticRoutes;
+ Tunnel1 = tunnel1;
+ Tunnel2 = tunnel2;
+ }
+ }
+}
diff --git a/sdk/dotnet/GetVpnGatewayStatus.cs b/sdk/dotnet/GetVpnGatewayStatus.cs
new file mode 100644
index 0000000..7564068
--- /dev/null
+++ b/sdk/dotnet/GetVpnGatewayStatus.cs
@@ -0,0 +1,159 @@
+// *** 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 GetVpnGatewayStatus
+ {
+ ///
+ /// VPN Gateway Status data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_gateway_status" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Task InvokeAsync(GetVpnGatewayStatusArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", args ?? new GetVpnGatewayStatusArgs(), options.WithDefaults());
+
+ ///
+ /// VPN Gateway Status data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_gateway_status" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetVpnGatewayStatusInvokeArgs args, InvokeOptions? options = null)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", args ?? new GetVpnGatewayStatusInvokeArgs(), options.WithDefaults());
+
+ ///
+ /// VPN Gateway Status data source schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on datasource level.
+ ///
+ /// ## Example Usage
+ ///
+ /// ```terraform
+ /// data "stackit_vpn_gateway_status" "example" {
+ /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
+ /// }
+ /// ```
+ ///
+ public static Output Invoke(GetVpnGatewayStatusInvokeArgs args, InvokeOutputOptions options)
+ => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", args ?? new GetVpnGatewayStatusInvokeArgs(), options.WithDefaults());
+ }
+
+
+ public sealed class GetVpnGatewayStatusArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The server-generated UUID of the VPN gateway.
+ ///
+ [Input("gatewayId", required: true)]
+ public string GatewayId { get; set; } = null!;
+
+ ///
+ /// STACKIT project ID associated with the VPN gateway.
+ ///
+ [Input("projectId", required: true)]
+ public string ProjectId { get; set; } = null!;
+
+ public GetVpnGatewayStatusArgs()
+ {
+ }
+ public static new GetVpnGatewayStatusArgs Empty => new GetVpnGatewayStatusArgs();
+ }
+
+ public sealed class GetVpnGatewayStatusInvokeArgs : global::Pulumi.InvokeArgs
+ {
+ ///
+ /// The server-generated UUID of the VPN gateway.
+ ///
+ [Input("gatewayId", required: true)]
+ public Input GatewayId { get; set; } = null!;
+
+ ///
+ /// STACKIT project ID associated with the VPN gateway.
+ ///
+ [Input("projectId", required: true)]
+ public Input ProjectId { get; set; } = null!;
+
+ public GetVpnGatewayStatusInvokeArgs()
+ {
+ }
+ public static new GetVpnGatewayStatusInvokeArgs Empty => new GetVpnGatewayStatusInvokeArgs();
+ }
+
+
+ [OutputType]
+ public sealed class GetVpnGatewayStatusResult
+ {
+ ///
+ /// List of connections in the VPN gateway.
+ ///
+ public readonly ImmutableArray Connections;
+ ///
+ /// A user-friendly name for the VPN gateway.
+ ///
+ public readonly string DisplayName;
+ ///
+ /// The server-generated UUID of the VPN gateway.
+ ///
+ public readonly string GatewayId;
+ ///
+ /// Terraform's internal resource identifier. Structured as "`ProjectId`,`Region`,`GatewayId`".
+ ///
+ public readonly string Id;
+ ///
+ /// STACKIT project ID associated with the VPN gateway.
+ ///
+ public readonly string ProjectId;
+ ///
+ /// STACKIT region name the resource is located in. If not defined, the provider region is used.
+ ///
+ public readonly string Region;
+ ///
+ /// List of the VPN tunnels in the gateway.
+ ///
+ public readonly ImmutableArray Tunnels;
+
+ [OutputConstructor]
+ private GetVpnGatewayStatusResult(
+ ImmutableArray connections,
+
+ string displayName,
+
+ string gatewayId,
+
+ string id,
+
+ string projectId,
+
+ string region,
+
+ ImmutableArray tunnels)
+ {
+ Connections = connections;
+ DisplayName = displayName;
+ GatewayId = gatewayId;
+ Id = id;
+ ProjectId = projectId;
+ Region = region;
+ Tunnels = tunnels;
+ }
+ }
+}
diff --git a/sdk/dotnet/Inputs/SkeClusterAccessArgs.cs b/sdk/dotnet/Inputs/SkeClusterAccessArgs.cs
new file mode 100644
index 0000000..5ad5186
--- /dev/null
+++ b/sdk/dotnet/Inputs/SkeClusterAccessArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class SkeClusterAccessArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Configure IDP
+ ///
+ [Input("idp")]
+ public Input? Idp { get; set; }
+
+ public SkeClusterAccessArgs()
+ {
+ }
+ public static new SkeClusterAccessArgs Empty => new SkeClusterAccessArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/SkeClusterAccessGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterAccessGetArgs.cs
new file mode 100644
index 0000000..9359a47
--- /dev/null
+++ b/sdk/dotnet/Inputs/SkeClusterAccessGetArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class SkeClusterAccessGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Configure IDP
+ ///
+ [Input("idp")]
+ public Input? Idp { get; set; }
+
+ public SkeClusterAccessGetArgs()
+ {
+ }
+ public static new SkeClusterAccessGetArgs Empty => new SkeClusterAccessGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/SkeClusterAccessIdpArgs.cs b/sdk/dotnet/Inputs/SkeClusterAccessIdpArgs.cs
new file mode 100644
index 0000000..76ff9b2
--- /dev/null
+++ b/sdk/dotnet/Inputs/SkeClusterAccessIdpArgs.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 SkeClusterAccessIdpArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Enable IDP integration for the cluster.
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ ///
+ /// The IDP type. Possible values: 'stackit'.
+ ///
+ [Input("type")]
+ public Input? Type { get; set; }
+
+ public SkeClusterAccessIdpArgs()
+ {
+ }
+ public static new SkeClusterAccessIdpArgs Empty => new SkeClusterAccessIdpArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/SkeClusterAccessIdpGetArgs.cs b/sdk/dotnet/Inputs/SkeClusterAccessIdpGetArgs.cs
new file mode 100644
index 0000000..e2a41b7
--- /dev/null
+++ b/sdk/dotnet/Inputs/SkeClusterAccessIdpGetArgs.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 SkeClusterAccessIdpGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Enable IDP integration for the cluster.
+ ///
+ [Input("enabled")]
+ public Input? Enabled { get; set; }
+
+ ///
+ /// The IDP type. Possible values: 'stackit'.
+ ///
+ [Input("type")]
+ public Input? Type { get; set; }
+
+ public SkeClusterAccessIdpGetArgs()
+ {
+ }
+ public static new SkeClusterAccessIdpGetArgs Empty => new SkeClusterAccessIdpGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1Args.cs
new file mode 100644
index 0000000..c680bde
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1Args.cs
@@ -0,0 +1,77 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel1Args : global::Pulumi.ResourceArgs
+ {
+ [Input("bgp")]
+ public Input? Bgp { get; set; }
+
+ [Input("peering")]
+ public Input? Peering { get; set; }
+
+ [Input("phase1", required: true)]
+ public Input Phase1 { get; set; } = null!;
+
+ [Input("phase2", required: true)]
+ public Input Phase2 { get; set; } = null!;
+
+ [Input("preSharedKey")]
+ private Input? _preSharedKey;
+
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public Input? PreSharedKey
+ {
+ get => _preSharedKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("preSharedKeyWo")]
+ private Input? _preSharedKeyWo;
+
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public Input? PreSharedKeyWo
+ {
+ get => _preSharedKeyWo;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKeyWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ [Input("preSharedKeyWoVersion")]
+ public Input? PreSharedKeyWoVersion { get; set; }
+
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel1Args()
+ {
+ }
+ public static new VpnConnectionTunnel1Args Empty => new VpnConnectionTunnel1Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpArgs.cs
new file mode 100644
index 0000000..7a42db0
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel1BgpArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ [Input("remoteAsn", required: true)]
+ public Input RemoteAsn { get; set; } = null!;
+
+ public VpnConnectionTunnel1BgpArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1BgpArgs Empty => new VpnConnectionTunnel1BgpArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpGetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpGetArgs.cs
new file mode 100644
index 0000000..bfa6d63
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1BgpGetArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel1BgpGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ [Input("remoteAsn", required: true)]
+ public Input RemoteAsn { get; set; } = null!;
+
+ public VpnConnectionTunnel1BgpGetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1BgpGetArgs Empty => new VpnConnectionTunnel1BgpGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1GetArgs.cs
new file mode 100644
index 0000000..020472e
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1GetArgs.cs
@@ -0,0 +1,77 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel1GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("bgp")]
+ public Input? Bgp { get; set; }
+
+ [Input("peering")]
+ public Input? Peering { get; set; }
+
+ [Input("phase1", required: true)]
+ public Input Phase1 { get; set; } = null!;
+
+ [Input("phase2", required: true)]
+ public Input Phase2 { get; set; } = null!;
+
+ [Input("preSharedKey")]
+ private Input? _preSharedKey;
+
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public Input? PreSharedKey
+ {
+ get => _preSharedKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("preSharedKeyWo")]
+ private Input? _preSharedKeyWo;
+
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public Input? PreSharedKeyWo
+ {
+ get => _preSharedKeyWo;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKeyWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ [Input("preSharedKeyWoVersion")]
+ public Input? PreSharedKeyWoVersion { get; set; }
+
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel1GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1GetArgs Empty => new VpnConnectionTunnel1GetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringArgs.cs
new file mode 100644
index 0000000..92216ca
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringArgs.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 VpnConnectionTunnel1PeeringArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ [Input("localAddress", required: true)]
+ public Input LocalAddress { get; set; } = null!;
+
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel1PeeringArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1PeeringArgs Empty => new VpnConnectionTunnel1PeeringArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringGetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringGetArgs.cs
new file mode 100644
index 0000000..acbcf05
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1PeeringGetArgs.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 VpnConnectionTunnel1PeeringGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ [Input("localAddress", required: true)]
+ public Input LocalAddress { get; set; } = null!;
+
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel1PeeringGetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1PeeringGetArgs Empty => new VpnConnectionTunnel1PeeringGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1Args.cs
new file mode 100644
index 0000000..7c81bd5
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1Args.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 VpnConnectionTunnel1Phase1Args : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ public VpnConnectionTunnel1Phase1Args()
+ {
+ }
+ public static new VpnConnectionTunnel1Phase1Args Empty => new VpnConnectionTunnel1Phase1Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1GetArgs.cs
new file mode 100644
index 0000000..a0ded97
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase1GetArgs.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 VpnConnectionTunnel1Phase1GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ public VpnConnectionTunnel1Phase1GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1Phase1GetArgs Empty => new VpnConnectionTunnel1Phase1GetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2Args.cs
new file mode 100644
index 0000000..e3681c6
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2Args.cs
@@ -0,0 +1,74 @@
+// *** 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 VpnConnectionTunnel1Phase2Args : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ [Input("dpdAction")]
+ public Input? DpdAction { get; set; }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ [Input("startAction")]
+ public Input? StartAction { get; set; }
+
+ public VpnConnectionTunnel1Phase2Args()
+ {
+ }
+ public static new VpnConnectionTunnel1Phase2Args Empty => new VpnConnectionTunnel1Phase2Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2GetArgs.cs
new file mode 100644
index 0000000..c605a27
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel1Phase2GetArgs.cs
@@ -0,0 +1,74 @@
+// *** 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 VpnConnectionTunnel1Phase2GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ [Input("dpdAction")]
+ public Input? DpdAction { get; set; }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ [Input("startAction")]
+ public Input? StartAction { get; set; }
+
+ public VpnConnectionTunnel1Phase2GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel1Phase2GetArgs Empty => new VpnConnectionTunnel1Phase2GetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2Args.cs
new file mode 100644
index 0000000..ce714ef
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2Args.cs
@@ -0,0 +1,77 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel2Args : global::Pulumi.ResourceArgs
+ {
+ [Input("bgp")]
+ public Input? Bgp { get; set; }
+
+ [Input("peering")]
+ public Input? Peering { get; set; }
+
+ [Input("phase1", required: true)]
+ public Input Phase1 { get; set; } = null!;
+
+ [Input("phase2", required: true)]
+ public Input Phase2 { get; set; } = null!;
+
+ [Input("preSharedKey")]
+ private Input? _preSharedKey;
+
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public Input? PreSharedKey
+ {
+ get => _preSharedKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("preSharedKeyWo")]
+ private Input? _preSharedKeyWo;
+
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public Input? PreSharedKeyWo
+ {
+ get => _preSharedKeyWo;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKeyWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ [Input("preSharedKeyWoVersion")]
+ public Input? PreSharedKeyWoVersion { get; set; }
+
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel2Args()
+ {
+ }
+ public static new VpnConnectionTunnel2Args Empty => new VpnConnectionTunnel2Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpArgs.cs
new file mode 100644
index 0000000..66a55b0
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel2BgpArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ [Input("remoteAsn", required: true)]
+ public Input RemoteAsn { get; set; } = null!;
+
+ public VpnConnectionTunnel2BgpArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2BgpArgs Empty => new VpnConnectionTunnel2BgpArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpGetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpGetArgs.cs
new file mode 100644
index 0000000..b395647
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2BgpGetArgs.cs
@@ -0,0 +1,26 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel2BgpGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ [Input("remoteAsn", required: true)]
+ public Input RemoteAsn { get; set; } = null!;
+
+ public VpnConnectionTunnel2BgpGetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2BgpGetArgs Empty => new VpnConnectionTunnel2BgpGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2GetArgs.cs
new file mode 100644
index 0000000..80d2ea2
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2GetArgs.cs
@@ -0,0 +1,77 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Inputs
+{
+
+ public sealed class VpnConnectionTunnel2GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("bgp")]
+ public Input? Bgp { get; set; }
+
+ [Input("peering")]
+ public Input? Peering { get; set; }
+
+ [Input("phase1", required: true)]
+ public Input Phase1 { get; set; } = null!;
+
+ [Input("phase2", required: true)]
+ public Input Phase2 { get; set; } = null!;
+
+ [Input("preSharedKey")]
+ private Input? _preSharedKey;
+
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public Input? PreSharedKey
+ {
+ get => _preSharedKey;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKey = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ [Input("preSharedKeyWo")]
+ private Input? _preSharedKeyWo;
+
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public Input? PreSharedKeyWo
+ {
+ get => _preSharedKeyWo;
+ set
+ {
+ var emptySecret = Output.CreateSecret(0);
+ _preSharedKeyWo = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1);
+ }
+ }
+
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ [Input("preSharedKeyWoVersion")]
+ public Input? PreSharedKeyWoVersion { get; set; }
+
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel2GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2GetArgs Empty => new VpnConnectionTunnel2GetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringArgs.cs
new file mode 100644
index 0000000..189cdca
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringArgs.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 VpnConnectionTunnel2PeeringArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ [Input("localAddress", required: true)]
+ public Input LocalAddress { get; set; } = null!;
+
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel2PeeringArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2PeeringArgs Empty => new VpnConnectionTunnel2PeeringArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringGetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringGetArgs.cs
new file mode 100644
index 0000000..b9d4ead
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2PeeringGetArgs.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 VpnConnectionTunnel2PeeringGetArgs : global::Pulumi.ResourceArgs
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ [Input("localAddress", required: true)]
+ public Input LocalAddress { get; set; } = null!;
+
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ [Input("remoteAddress", required: true)]
+ public Input RemoteAddress { get; set; } = null!;
+
+ public VpnConnectionTunnel2PeeringGetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2PeeringGetArgs Empty => new VpnConnectionTunnel2PeeringGetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1Args.cs
new file mode 100644
index 0000000..33e5970
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1Args.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 VpnConnectionTunnel2Phase1Args : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ public VpnConnectionTunnel2Phase1Args()
+ {
+ }
+ public static new VpnConnectionTunnel2Phase1Args Empty => new VpnConnectionTunnel2Phase1Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1GetArgs.cs
new file mode 100644
index 0000000..36c97cc
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase1GetArgs.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 VpnConnectionTunnel2Phase1GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ public VpnConnectionTunnel2Phase1GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2Phase1GetArgs Empty => new VpnConnectionTunnel2Phase1GetArgs();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2Args.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2Args.cs
new file mode 100644
index 0000000..79136ca
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2Args.cs
@@ -0,0 +1,74 @@
+// *** 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 VpnConnectionTunnel2Phase2Args : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ [Input("dpdAction")]
+ public Input? DpdAction { get; set; }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ [Input("startAction")]
+ public Input? StartAction { get; set; }
+
+ public VpnConnectionTunnel2Phase2Args()
+ {
+ }
+ public static new VpnConnectionTunnel2Phase2Args Empty => new VpnConnectionTunnel2Phase2Args();
+ }
+}
diff --git a/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2GetArgs.cs b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2GetArgs.cs
new file mode 100644
index 0000000..d00ad3f
--- /dev/null
+++ b/sdk/dotnet/Inputs/VpnConnectionTunnel2Phase2GetArgs.cs
@@ -0,0 +1,74 @@
+// *** 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 VpnConnectionTunnel2Phase2GetArgs : global::Pulumi.ResourceArgs
+ {
+ [Input("dhGroups")]
+ private InputList? _dhGroups;
+
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public InputList DhGroups
+ {
+ get => _dhGroups ?? (_dhGroups = new InputList());
+ set => _dhGroups = value;
+ }
+
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ [Input("dpdAction")]
+ public Input? DpdAction { get; set; }
+
+ [Input("encryptionAlgorithms", required: true)]
+ private InputList? _encryptionAlgorithms;
+
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public InputList EncryptionAlgorithms
+ {
+ get => _encryptionAlgorithms ?? (_encryptionAlgorithms = new InputList());
+ set => _encryptionAlgorithms = value;
+ }
+
+ [Input("integrityAlgorithms", required: true)]
+ private InputList? _integrityAlgorithms;
+
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public InputList IntegrityAlgorithms
+ {
+ get => _integrityAlgorithms ?? (_integrityAlgorithms = new InputList());
+ set => _integrityAlgorithms = value;
+ }
+
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ [Input("rekeyTime")]
+ public Input? RekeyTime { get; set; }
+
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ [Input("startAction")]
+ public Input? StartAction { get; set; }
+
+ public VpnConnectionTunnel2Phase2GetArgs()
+ {
+ }
+ public static new VpnConnectionTunnel2Phase2GetArgs Empty => new VpnConnectionTunnel2Phase2GetArgs();
+ }
+}
diff --git a/sdk/dotnet/IntakeRunner.cs b/sdk/dotnet/IntakeRunner.cs
index 7aa1efb..6a3d833 100644
--- a/sdk/dotnet/IntakeRunner.cs
+++ b/sdk/dotnet/IntakeRunner.cs
@@ -17,6 +17,12 @@ namespace Pulumi.Stackit
[StackitResourceType("stackit:index/intakeRunner:IntakeRunner")]
public partial class IntakeRunner : global::Pulumi.CustomResource
{
+ ///
+ /// The creation time of the runner.
+ ///
+ [Output("createTime")]
+ public Output CreateTime { get; private set; } = null!;
+
///
/// The description of the runner.
///
@@ -65,6 +71,12 @@ public partial class IntakeRunner : global::Pulumi.CustomResource
[Output("runnerId")]
public Output RunnerId { get; private set; } = null!;
+ ///
+ /// The URI of the runner.
+ ///
+ [Output("uri")]
+ public Output Uri { get; private set; } = null!;
+
///
/// Create a IntakeRunner resource with the given unique name, arguments, and options.
@@ -168,6 +180,12 @@ public IntakeRunnerArgs()
public sealed class IntakeRunnerState : global::Pulumi.ResourceArgs
{
+ ///
+ /// The creation time of the runner.
+ ///
+ [Input("createTime")]
+ public Input? CreateTime { get; set; }
+
///
/// The description of the runner.
///
@@ -222,6 +240,12 @@ public InputMap Labels
[Input("runnerId")]
public Input? RunnerId { get; set; }
+ ///
+ /// The URI of the runner.
+ ///
+ [Input("uri")]
+ public Input? Uri { get; set; }
+
public IntakeRunnerState()
{
}
diff --git a/sdk/dotnet/Loadbalancer.cs b/sdk/dotnet/Loadbalancer.cs
index 82c5733..0706e4b 100644
--- a/sdk/dotnet/Loadbalancer.cs
+++ b/sdk/dotnet/Loadbalancer.cs
@@ -37,6 +37,12 @@ public partial class Loadbalancer : global::Pulumi.CustomResource
[Output("listeners")]
public Output> Listeners { get; private set; } = null!;
+ ///
+ /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ ///
+ [Output("loadBalancerSecurityGroupId")]
+ public Output LoadBalancerSecurityGroupId { get; private set; } = null!;
+
///
/// Load balancer name.
///
@@ -80,7 +86,7 @@ public partial class Loadbalancer : global::Pulumi.CustomResource
public Output Region { get; private set; } = null!;
///
- /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ /// The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.
///
[Output("securityGroupId")]
public Output SecurityGroupId { get; private set; } = null!;
@@ -254,6 +260,12 @@ public InputList Listeners
set => _listeners = value;
}
+ ///
+ /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ ///
+ [Input("loadBalancerSecurityGroupId")]
+ public Input? LoadBalancerSecurityGroupId { get; set; }
+
///
/// Load balancer name.
///
@@ -303,7 +315,7 @@ public InputList Networks
public Input? Region { get; set; }
///
- /// The ID of the egress security group assigned to the Load Balancer's internal machines. This ID is essential for allowing traffic from the Load Balancer to targets in different networks or STACKIT network areas (SNA). To enable this, create a security group rule for your target VMs and set the `RemoteSecurityGroupId` of that rule to this value. This is typically used when `DisableSecurityGroupAssignment` is set to `True`.
+ /// The ID of the automatically created security group that allows the targets to receive traffic from the LoadBalancer. Useful when disableTargetSecurityGroupAssignment=true to manually assign this security groups to targets.
///
[Input("securityGroupId")]
public Input? SecurityGroupId { get; set; }
diff --git a/sdk/dotnet/ObjectstorageBucket.cs b/sdk/dotnet/ObjectstorageBucket.cs
index 3d53807..935825f 100644
--- a/sdk/dotnet/ObjectstorageBucket.cs
+++ b/sdk/dotnet/ObjectstorageBucket.cs
@@ -12,6 +12,8 @@ namespace Pulumi.Stackit
///
/// ObjectStorage bucket resource schema. Must have a `Region` specified in the provider configuration. If you are creating `Credentialsgroup` and `Bucket` resources simultaneously, please include the `DependsOn` field so that they are created sequentially. This prevents errors from concurrent calls to the service enablement that is done in the background.
///
+ /// > This resource cannot be destroyed if the bucket contains objects. Please ensure the bucket is empty before attempting to destroy it.
+ ///
/// ## Example Usage
///
[StackitResourceType("stackit:index/objectstorageBucket:ObjectstorageBucket")]
diff --git a/sdk/dotnet/Outputs/GetSkeClusterAccessIdpResult.cs b/sdk/dotnet/Outputs/GetSkeClusterAccessIdpResult.cs
new file mode 100644
index 0000000..19bf2eb
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetSkeClusterAccessIdpResult.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 GetSkeClusterAccessIdpResult
+ {
+ ///
+ /// Enable IDP integration for the cluster.
+ ///
+ public readonly bool Enabled;
+ ///
+ /// The IDP type. Possible values: 'stackit'.
+ ///
+ public readonly string Type;
+
+ [OutputConstructor]
+ private GetSkeClusterAccessIdpResult(
+ bool enabled,
+
+ string type)
+ {
+ Enabled = enabled;
+ Type = type;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetSkeClusterAccessResult.cs b/sdk/dotnet/Outputs/GetSkeClusterAccessResult.cs
new file mode 100644
index 0000000..b2503a1
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetSkeClusterAccessResult.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class GetSkeClusterAccessResult
+ {
+ ///
+ /// Configure IDP
+ ///
+ public readonly Outputs.GetSkeClusterAccessIdpResult Idp;
+
+ [OutputConstructor]
+ private GetSkeClusterAccessResult(Outputs.GetSkeClusterAccessIdpResult idp)
+ {
+ Idp = idp;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel1BgpResult.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1BgpResult.cs
new file mode 100644
index 0000000..2c367ff
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1BgpResult.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnConnectionTunnel1BgpResult
+ {
+ ///
+ /// Remote AS number.
+ ///
+ public readonly int RemoteAsn;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel1BgpResult(int remoteAsn)
+ {
+ RemoteAsn = remoteAsn;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel1PeeringResult.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1PeeringResult.cs
new file mode 100644
index 0000000..ae7590c
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1PeeringResult.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 GetVpnConnectionTunnel1PeeringResult
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ public readonly string LocalAddress;
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel1PeeringResult(
+ string localAddress,
+
+ string remoteAddress)
+ {
+ LocalAddress = localAddress;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase1Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase1Result.cs
new file mode 100644
index 0000000..d54a25f
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase1Result.cs
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnConnectionTunnel1Phase1Result
+ {
+ ///
+ /// Diffie-Hellman groups.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Encryption algorithms.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity/hash algorithms.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// IKE re-keying time in seconds.
+ ///
+ public readonly int RekeyTime;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel1Phase1Result(
+ ImmutableArray dhGroups,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int rekeyTime)
+ {
+ DhGroups = dhGroups;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase2Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase2Result.cs
new file mode 100644
index 0000000..34e75af
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Phase2Result.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 GetVpnConnectionTunnel1Phase2Result
+ {
+ ///
+ /// Diffie-Hellman groups for PFS.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// DPD timeout action (clear or restart).
+ ///
+ public readonly string DpdAction;
+ ///
+ /// Encryption algorithms.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity/hash algorithms.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Child SA re-keying time in seconds.
+ ///
+ public readonly int RekeyTime;
+ ///
+ /// Start action (none or start).
+ ///
+ public readonly string StartAction;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel1Phase2Result(
+ ImmutableArray dhGroups,
+
+ string dpdAction,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int rekeyTime,
+
+ string startAction)
+ {
+ DhGroups = dhGroups;
+ DpdAction = dpdAction;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ StartAction = startAction;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Result.cs
new file mode 100644
index 0000000..cfa2e12
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel1Result.cs
@@ -0,0 +1,56 @@
+// *** 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 GetVpnConnectionTunnel1Result
+ {
+ ///
+ /// BGP configuration for this tunnel.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel1BgpResult Bgp;
+ ///
+ /// Tunnel interface peering configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel1PeeringResult Peering;
+ ///
+ /// IKE Phase 1 configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel1Phase1Result Phase1;
+ ///
+ /// IKE Phase 2 configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel1Phase2Result Phase2;
+ ///
+ /// Remote peer IPv4 address for this tunnel.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel1Result(
+ Outputs.GetVpnConnectionTunnel1BgpResult bgp,
+
+ Outputs.GetVpnConnectionTunnel1PeeringResult peering,
+
+ Outputs.GetVpnConnectionTunnel1Phase1Result phase1,
+
+ Outputs.GetVpnConnectionTunnel1Phase2Result phase2,
+
+ string remoteAddress)
+ {
+ Bgp = bgp;
+ Peering = peering;
+ Phase1 = phase1;
+ Phase2 = phase2;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel2BgpResult.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2BgpResult.cs
new file mode 100644
index 0000000..08f5791
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2BgpResult.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnConnectionTunnel2BgpResult
+ {
+ ///
+ /// Remote AS number.
+ ///
+ public readonly int RemoteAsn;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel2BgpResult(int remoteAsn)
+ {
+ RemoteAsn = remoteAsn;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel2PeeringResult.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2PeeringResult.cs
new file mode 100644
index 0000000..b5f3ea2
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2PeeringResult.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 GetVpnConnectionTunnel2PeeringResult
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ public readonly string LocalAddress;
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel2PeeringResult(
+ string localAddress,
+
+ string remoteAddress)
+ {
+ LocalAddress = localAddress;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase1Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase1Result.cs
new file mode 100644
index 0000000..6dc9686
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase1Result.cs
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class GetVpnConnectionTunnel2Phase1Result
+ {
+ ///
+ /// Diffie-Hellman groups.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Encryption algorithms.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity/hash algorithms.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// IKE re-keying time in seconds.
+ ///
+ public readonly int RekeyTime;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel2Phase1Result(
+ ImmutableArray dhGroups,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int rekeyTime)
+ {
+ DhGroups = dhGroups;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase2Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase2Result.cs
new file mode 100644
index 0000000..cd2f24b
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Phase2Result.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 GetVpnConnectionTunnel2Phase2Result
+ {
+ ///
+ /// Diffie-Hellman groups for PFS.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// DPD timeout action (clear or restart).
+ ///
+ public readonly string DpdAction;
+ ///
+ /// Encryption algorithms.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity/hash algorithms.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Child SA re-keying time in seconds.
+ ///
+ public readonly int RekeyTime;
+ ///
+ /// Start action (none or start).
+ ///
+ public readonly string StartAction;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel2Phase2Result(
+ ImmutableArray dhGroups,
+
+ string dpdAction,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int rekeyTime,
+
+ string startAction)
+ {
+ DhGroups = dhGroups;
+ DpdAction = dpdAction;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ StartAction = startAction;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Result.cs b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Result.cs
new file mode 100644
index 0000000..d1f06b6
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnConnectionTunnel2Result.cs
@@ -0,0 +1,56 @@
+// *** 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 GetVpnConnectionTunnel2Result
+ {
+ ///
+ /// BGP configuration for this tunnel.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel2BgpResult Bgp;
+ ///
+ /// Tunnel interface peering configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel2PeeringResult Peering;
+ ///
+ /// IKE Phase 1 configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel2Phase1Result Phase1;
+ ///
+ /// IKE Phase 2 configuration.
+ ///
+ public readonly Outputs.GetVpnConnectionTunnel2Phase2Result Phase2;
+ ///
+ /// Remote peer IPv4 address for this tunnel.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private GetVpnConnectionTunnel2Result(
+ Outputs.GetVpnConnectionTunnel2BgpResult bgp,
+
+ Outputs.GetVpnConnectionTunnel2PeeringResult peering,
+
+ Outputs.GetVpnConnectionTunnel2Phase1Result phase1,
+
+ Outputs.GetVpnConnectionTunnel2Phase2Result phase2,
+
+ string remoteAddress)
+ {
+ Bgp = bgp;
+ Peering = peering;
+ Phase1 = phase1;
+ Phase2 = phase2;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnGatewayStatusConnectionResult.cs b/sdk/dotnet/Outputs/GetVpnGatewayStatusConnectionResult.cs
new file mode 100644
index 0000000..a786a10
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnGatewayStatusConnectionResult.cs
@@ -0,0 +1,42 @@
+// *** 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 GetVpnGatewayStatusConnectionResult
+ {
+ ///
+ /// ID of the VPN connection.
+ ///
+ public readonly string ConnectionId;
+ ///
+ /// Display name of the VPN connection.
+ ///
+ public readonly string DisplayName;
+ ///
+ /// Wether the VPN connection is enabled or not.
+ ///
+ public readonly bool Enabled;
+
+ [OutputConstructor]
+ private GetVpnGatewayStatusConnectionResult(
+ string connectionId,
+
+ string displayName,
+
+ bool enabled)
+ {
+ ConnectionId = connectionId;
+ DisplayName = displayName;
+ Enabled = enabled;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/GetVpnGatewayStatusTunnelResult.cs b/sdk/dotnet/Outputs/GetVpnGatewayStatusTunnelResult.cs
new file mode 100644
index 0000000..3b7a669
--- /dev/null
+++ b/sdk/dotnet/Outputs/GetVpnGatewayStatusTunnelResult.cs
@@ -0,0 +1,42 @@
+// *** 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 GetVpnGatewayStatusTunnelResult
+ {
+ ///
+ /// The IPv4 address of the endpoint in the SNA.
+ ///
+ public readonly string InternalNextHopIp;
+ ///
+ /// The name of the VPN tunnel. Possible values are: `Tunnel1`, `Tunnel2`.
+ ///
+ public readonly string Name;
+ ///
+ /// The public IPv4 address of this endpoint.
+ ///
+ public readonly string PublicIp;
+
+ [OutputConstructor]
+ private GetVpnGatewayStatusTunnelResult(
+ string internalNextHopIp,
+
+ string name,
+
+ string publicIp)
+ {
+ InternalNextHopIp = internalNextHopIp;
+ Name = name;
+ PublicIp = publicIp;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/SkeClusterAccess.cs b/sdk/dotnet/Outputs/SkeClusterAccess.cs
new file mode 100644
index 0000000..1ec4802
--- /dev/null
+++ b/sdk/dotnet/Outputs/SkeClusterAccess.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class SkeClusterAccess
+ {
+ ///
+ /// Configure IDP
+ ///
+ public readonly Outputs.SkeClusterAccessIdp? Idp;
+
+ [OutputConstructor]
+ private SkeClusterAccess(Outputs.SkeClusterAccessIdp? idp)
+ {
+ Idp = idp;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/SkeClusterAccessIdp.cs b/sdk/dotnet/Outputs/SkeClusterAccessIdp.cs
new file mode 100644
index 0000000..09dddff
--- /dev/null
+++ b/sdk/dotnet/Outputs/SkeClusterAccessIdp.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 SkeClusterAccessIdp
+ {
+ ///
+ /// Enable IDP integration for the cluster.
+ ///
+ public readonly bool? Enabled;
+ ///
+ /// The IDP type. Possible values: 'stackit'.
+ ///
+ public readonly string? Type;
+
+ [OutputConstructor]
+ private SkeClusterAccessIdp(
+ bool? enabled,
+
+ string? type)
+ {
+ Enabled = enabled;
+ Type = type;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel1.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel1.cs
new file mode 100644
index 0000000..8eb2454
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel1.cs
@@ -0,0 +1,66 @@
+// *** 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 VpnConnectionTunnel1
+ {
+ public readonly Outputs.VpnConnectionTunnel1Bgp? Bgp;
+ public readonly Outputs.VpnConnectionTunnel1Peering? Peering;
+ public readonly Outputs.VpnConnectionTunnel1Phase1 Phase1;
+ public readonly Outputs.VpnConnectionTunnel1Phase2 Phase2;
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public readonly string? PreSharedKey;
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public readonly string? PreSharedKeyWo;
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ public readonly int? PreSharedKeyWoVersion;
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel1(
+ Outputs.VpnConnectionTunnel1Bgp? bgp,
+
+ Outputs.VpnConnectionTunnel1Peering? peering,
+
+ Outputs.VpnConnectionTunnel1Phase1 phase1,
+
+ Outputs.VpnConnectionTunnel1Phase2 phase2,
+
+ string? preSharedKey,
+
+ string? preSharedKeyWo,
+
+ int? preSharedKeyWoVersion,
+
+ string remoteAddress)
+ {
+ Bgp = bgp;
+ Peering = peering;
+ Phase1 = phase1;
+ Phase2 = phase2;
+ PreSharedKey = preSharedKey;
+ PreSharedKeyWo = preSharedKeyWo;
+ PreSharedKeyWoVersion = preSharedKeyWoVersion;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel1Bgp.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel1Bgp.cs
new file mode 100644
index 0000000..b539a8d
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel1Bgp.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class VpnConnectionTunnel1Bgp
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ public readonly int RemoteAsn;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel1Bgp(int remoteAsn)
+ {
+ RemoteAsn = remoteAsn;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel1Peering.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel1Peering.cs
new file mode 100644
index 0000000..64fb09e
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel1Peering.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 VpnConnectionTunnel1Peering
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ public readonly string LocalAddress;
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel1Peering(
+ string localAddress,
+
+ string remoteAddress)
+ {
+ LocalAddress = localAddress;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase1.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase1.cs
new file mode 100644
index 0000000..e8782aa
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase1.cs
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class VpnConnectionTunnel1Phase1
+ {
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ public readonly int? RekeyTime;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel1Phase1(
+ ImmutableArray dhGroups,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int? rekeyTime)
+ {
+ DhGroups = dhGroups;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase2.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase2.cs
new file mode 100644
index 0000000..1050a16
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel1Phase2.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 VpnConnectionTunnel1Phase2
+ {
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ public readonly string? DpdAction;
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ public readonly int? RekeyTime;
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ public readonly string? StartAction;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel1Phase2(
+ ImmutableArray dhGroups,
+
+ string? dpdAction,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int? rekeyTime,
+
+ string? startAction)
+ {
+ DhGroups = dhGroups;
+ DpdAction = dpdAction;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ StartAction = startAction;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel2.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel2.cs
new file mode 100644
index 0000000..90b300b
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel2.cs
@@ -0,0 +1,66 @@
+// *** 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 VpnConnectionTunnel2
+ {
+ public readonly Outputs.VpnConnectionTunnel2Bgp? Bgp;
+ public readonly Outputs.VpnConnectionTunnel2Peering? Peering;
+ public readonly Outputs.VpnConnectionTunnel2Phase1 Phase1;
+ public readonly Outputs.VpnConnectionTunnel2Phase2 Phase2;
+ ///
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `PreSharedKeyWo` should be preferred.
+ ///
+ public readonly string? PreSharedKey;
+ ///
+ /// **NOTE:** This field is write-only and its value will not be updated in state as part of read operations.
+ /// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only - never stored in state and never returned by the API. To rotate the key, update this value AND increment pre*shared*key*wo*version. Changing this field alone will NOT trigger an update.
+ ///
+ public readonly string? PreSharedKeyWo;
+ ///
+ /// User-managed rotation counter for the pre-shared key. Must be incremented every time pre*shared*key*wo is changed. Terraform diffs this field to detect key rotations - changing pre*shared*key*wo alone will NOT trigger an update because it is write-only and never stored in state.
+ ///
+ public readonly int? PreSharedKeyWoVersion;
+ ///
+ /// Remote IPv4 address for the tunnel endpoint.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel2(
+ Outputs.VpnConnectionTunnel2Bgp? bgp,
+
+ Outputs.VpnConnectionTunnel2Peering? peering,
+
+ Outputs.VpnConnectionTunnel2Phase1 phase1,
+
+ Outputs.VpnConnectionTunnel2Phase2 phase2,
+
+ string? preSharedKey,
+
+ string? preSharedKeyWo,
+
+ int? preSharedKeyWoVersion,
+
+ string remoteAddress)
+ {
+ Bgp = bgp;
+ Peering = peering;
+ Phase1 = phase1;
+ Phase2 = phase2;
+ PreSharedKey = preSharedKey;
+ PreSharedKeyWo = preSharedKeyWo;
+ PreSharedKeyWoVersion = preSharedKeyWoVersion;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel2Bgp.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel2Bgp.cs
new file mode 100644
index 0000000..1395f2f
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel2Bgp.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class VpnConnectionTunnel2Bgp
+ {
+ ///
+ /// Remote ASN for BGP peering (private ASN range, 64512-4294967294).
+ ///
+ public readonly int RemoteAsn;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel2Bgp(int remoteAsn)
+ {
+ RemoteAsn = remoteAsn;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel2Peering.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel2Peering.cs
new file mode 100644
index 0000000..5972c2d
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel2Peering.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 VpnConnectionTunnel2Peering
+ {
+ ///
+ /// Local tunnel interface IPv4 address.
+ ///
+ public readonly string LocalAddress;
+ ///
+ /// Remote tunnel interface IPv4 address.
+ ///
+ public readonly string RemoteAddress;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel2Peering(
+ string localAddress,
+
+ string remoteAddress)
+ {
+ LocalAddress = localAddress;
+ RemoteAddress = remoteAddress;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase1.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase1.cs
new file mode 100644
index 0000000..d035ba8
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase1.cs
@@ -0,0 +1,49 @@
+// *** WARNING: this file was generated by pulumi-language-dotnet. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Stackit.Outputs
+{
+
+ [OutputType]
+ public sealed class VpnConnectionTunnel2Phase1
+ {
+ ///
+ /// Diffie-Hellman groups for key exchange. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Encryption algorithms for Phase 1. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity algorithms for Phase 1. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400.
+ ///
+ public readonly int? RekeyTime;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel2Phase1(
+ ImmutableArray dhGroups,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int? rekeyTime)
+ {
+ DhGroups = dhGroups;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ }
+ }
+}
diff --git a/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase2.cs b/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase2.cs
new file mode 100644
index 0000000..5f1672c
--- /dev/null
+++ b/sdk/dotnet/Outputs/VpnConnectionTunnel2Phase2.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 VpnConnectionTunnel2Phase2
+ {
+ ///
+ /// Diffie-Hellman groups for Phase 2. Possible values are: `Modp1024`, `Modp2048`, `Ecp256`, `Ecp384`, `Modp2048s256`.
+ ///
+ public readonly ImmutableArray DhGroups;
+ ///
+ /// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `Clear`, `Restart`.
+ ///
+ public readonly string? DpdAction;
+ ///
+ /// Encryption algorithms for Phase 2. Possible values are: `Aes256`, `Aes128gcm16`, `Aes256gcm16`.
+ ///
+ public readonly ImmutableArray EncryptionAlgorithms;
+ ///
+ /// Integrity algorithms for Phase 2. Possible values are: `Sha1`, `Sha2256`, `Sha2384`.
+ ///
+ public readonly ImmutableArray IntegrityAlgorithms;
+ ///
+ /// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600.
+ ///
+ public readonly int? RekeyTime;
+ ///
+ /// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `None`, `Start`.
+ ///
+ public readonly string? StartAction;
+
+ [OutputConstructor]
+ private VpnConnectionTunnel2Phase2(
+ ImmutableArray dhGroups,
+
+ string? dpdAction,
+
+ ImmutableArray encryptionAlgorithms,
+
+ ImmutableArray integrityAlgorithms,
+
+ int? rekeyTime,
+
+ string? startAction)
+ {
+ DhGroups = dhGroups;
+ DpdAction = dpdAction;
+ EncryptionAlgorithms = encryptionAlgorithms;
+ IntegrityAlgorithms = integrityAlgorithms;
+ RekeyTime = rekeyTime;
+ StartAction = startAction;
+ }
+ }
+}
diff --git a/sdk/dotnet/SkeCluster.cs b/sdk/dotnet/SkeCluster.cs
index 9fc8325..751f62d 100644
--- a/sdk/dotnet/SkeCluster.cs
+++ b/sdk/dotnet/SkeCluster.cs
@@ -19,6 +19,12 @@ namespace Pulumi.Stackit
[StackitResourceType("stackit:index/skeCluster:SkeCluster")]
public partial class SkeCluster : global::Pulumi.CustomResource
{
+ ///
+ /// Configure access to the cluster
+ ///
+ [Output("access")]
+ public Output Access { get; private set; } = null!;
+
///
/// The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.
///
@@ -139,6 +145,12 @@ public static SkeCluster Get(string name, Input id, SkeClusterState? sta
public sealed class SkeClusterArgs : global::Pulumi.ResourceArgs
{
+ ///
+ /// Configure access to the cluster
+ ///
+ [Input("access")]
+ public Input? Access { get; set; }
+
///
/// A single extensions block as defined below.
///
@@ -214,6 +226,12 @@ public SkeClusterArgs()
public sealed class SkeClusterState : global::Pulumi.ResourceArgs
{
+ ///
+ /// Configure access to the cluster
+ ///
+ [Input("access")]
+ public Input? Access { get; set; }
+
[Input("egressAddressRanges")]
private InputList? _egressAddressRanges;
diff --git a/sdk/dotnet/VpnConnection.cs b/sdk/dotnet/VpnConnection.cs
new file mode 100644
index 0000000..7f11dab
--- /dev/null
+++ b/sdk/dotnet/VpnConnection.cs
@@ -0,0 +1,344 @@
+// *** 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
+{
+ ///
+ /// VPN Connection resource schema. Uses the `DefaultRegion` specified in the provider configuration as a fallback in case no `Region` is defined on resource level.
+ ///
+ /// ## Example Usage
+ ///
+ [StackitResourceType("stackit:index/vpnConnection:VpnConnection")]
+ public partial class VpnConnection : global::Pulumi.CustomResource
+ {
+ ///
+ /// The server-generated UUID of the VPN connection.
+ ///
+ [Output("connectionId")]
+ public Output ConnectionId { get; private set; } = null!;
+
+ ///
+ /// A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long.
+ ///
+ [Output("displayName")]
+ public Output DisplayName { get; private set; } = null!;
+
+ ///
+ /// Whether this connection is enabled. Defaults to true.
+ ///
+ [Output("enabled")]
+ public Output Enabled { get; private set; } = null!;
+
+ ///
+ /// The UUID of the parent VPN gateway.
+ ///
+ [Output("gatewayId")]
+ public Output GatewayId { get; private set; } = null!;
+
+ ///